Home
last modified time | relevance | path

Searched refs:ft (Results 1 – 25 of 108) sorted by relevance

12345

/linux/drivers/isdn/mISDN/
H A Dfsm.c98 struct FsmTimer *ft = timer_container_of(ft, t, tl); in FsmExpireTimer() local
100 if (ft->fi->debug) in FsmExpireTimer()
101 ft->fi->printdebug(ft->fi, "FsmExpireTimer %lx", (long) ft); in FsmExpireTimer()
103 mISDN_FsmEvent(ft->fi, ft->event, ft->arg); in FsmExpireTimer()
107 mISDN_FsmInitTimer(struct FsmInst *fi, struct FsmTimer *ft) in mISDN_FsmInitTimer() argument
109 ft->fi = fi; in mISDN_FsmInitTimer()
111 if (ft->fi->debug) in mISDN_FsmInitTimer()
112 ft->fi->printdebug(ft->fi, "mISDN_FsmInitTimer %lx", (long) ft); in mISDN_FsmInitTimer()
114 timer_setup(&ft->tl, FsmExpireTimer, 0); in mISDN_FsmInitTimer()
119 mISDN_FsmDelTimer(struct FsmTimer *ft, int where) in mISDN_FsmDelTimer() argument
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dfs_tt_redirect.c84 struct mlx5_flow_table *ft = NULL; in mlx5e_fs_tt_redirect_udp_add_rule() local
97 ft = fs_udp->tables[type].t; in mlx5e_fs_tt_redirect_udp_add_rule()
103 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_fs_tt_redirect_udp_add_rule()
144 static int fs_udp_create_groups(struct mlx5e_flow_table *ft, enum fs_udp_type type) in fs_udp_create_groups() argument
153 ft->g = kzalloc_objs(*ft->g, MLX5E_FS_UDP_NUM_GROUPS); in fs_udp_create_groups()
155 if (!in || !ft->g) { in fs_udp_create_groups()
156 kfree(ft->g); in fs_udp_create_groups()
157 ft->g = NULL; in fs_udp_create_groups()
181 ft->g[ft->num_groups] = mlx5_create_flow_group(ft->t, in); in fs_udp_create_groups()
182 if (IS_ERR(ft->g[ft->num_groups])) in fs_udp_create_groups()
[all …]
H A Dtc_ct.c96 struct mlx5_flow_table *ft; member
840 attr->ft = nat ? ct_priv->ct_nat : ct_priv->ct; in mlx5_tc_ct_entry_add_rule()
1164 mlx5_tc_ct_block_flow_offload_update(struct mlx5_ct_ft *ft, struct flow_rule *flow_rule, in mlx5_tc_ct_block_flow_offload_update() argument
1167 struct mlx5_tc_ct_priv *ct_priv = ft->ct_priv; in mlx5_tc_ct_block_flow_offload_update()
1170 err = mlx5_tc_ct_entry_update_rules(ct_priv, flow_rule, entry, ft->zone_restore_id); in mlx5_tc_ct_block_flow_offload_update()
1178 entry = rhashtable_lookup_fast(&ft->ct_entries_ht, &cookie, cts_ht_params); in mlx5_tc_ct_block_flow_offload_update()
1180 rhashtable_remove_fast(&ft->ct_entries_ht, &entry->node, cts_ht_params); in mlx5_tc_ct_block_flow_offload_update()
1190 mlx5_tc_ct_block_flow_offload_add(struct mlx5_ct_ft *ft, in mlx5_tc_ct_block_flow_offload_add() argument
1194 struct mlx5_tc_ct_priv *ct_priv = ft->ct_priv; in mlx5_tc_ct_block_flow_offload_add()
1206 entry = rhashtable_lookup_fast(&ft->ct_entries_ht, &cookie, cts_ht_params); in mlx5_tc_ct_block_flow_offload_add()
[all …]
/linux/drivers/scsi/fcoe/
H A Dfcoe_transport.c514 struct fcoe_transport *ft = NULL; in fcoe_transport_lookup() local
516 list_for_each_entry(ft, &fcoe_transports, list) in fcoe_transport_lookup()
517 if (ft->match && ft->match(netdev)) in fcoe_transport_lookup()
518 return ft; in fcoe_transport_lookup()
528 int fcoe_transport_attach(struct fcoe_transport *ft) in fcoe_transport_attach() argument
533 if (ft->attached) { in fcoe_transport_attach()
535 ft->name); in fcoe_transport_attach()
541 if (strcmp(ft->name, FCOE_TRANSPORT_DEFAULT)) in fcoe_transport_attach()
542 list_add(&ft->list, &fcoe_transports); in fcoe_transport_attach()
544 list_add_tail(&ft->list, &fcoe_transports); in fcoe_transport_attach()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_fs.c148 struct mlx5e_flow_table ft; member
167 return vlan->ft.t; in mlx5e_vlan_get_flowtable()
223 struct mlx5_flow_table *ft = fs->vlan->ft.t; in __mlx5e_add_vlan_rule() local
230 dest.ft = fs->l2.ft.t; in __mlx5e_add_vlan_rule()
281 *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in __mlx5e_add_vlan_rule()
368 mlx5e_add_trap_rule(struct mlx5_flow_table *ft, int trap_id, int tir_num) in mlx5e_add_trap_rule() argument
383 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_trap_rule()
390 struct mlx5_flow_table *ft = fs->vlan->ft.t; in mlx5e_add_vlan_trap() local
394 rule = mlx5e_add_trap_rule(ft, trap_id, tir_num); in mlx5e_add_vlan_trap()
415 struct mlx5_flow_table *ft = fs->l2.ft.t; in mlx5e_add_mac_trap() local
[all …]
H A Dfs_cmd.c44 struct mlx5_flow_table *ft, in mlx5_cmd_stub_update_root_ft() argument
52 struct mlx5_flow_table *ft, in mlx5_cmd_stub_create_flow_table() argument
58 ft->max_fte = max_fte ? roundup_pow_of_two(max_fte) : 1; in mlx5_cmd_stub_create_flow_table()
64 struct mlx5_flow_table *ft) in mlx5_cmd_stub_destroy_flow_table() argument
70 struct mlx5_flow_table *ft, in mlx5_cmd_stub_modify_flow_table() argument
77 struct mlx5_flow_table *ft, in mlx5_cmd_stub_create_flow_group() argument
85 struct mlx5_flow_table *ft, in mlx5_cmd_stub_destroy_flow_group() argument
92 struct mlx5_flow_table *ft, in mlx5_cmd_stub_create_fte() argument
100 struct mlx5_flow_table *ft, in mlx5_cmd_stub_update_fte() argument
109 struct mlx5_flow_table *ft, in mlx5_cmd_stub_delete_fte() argument
[all …]
H A Dfs_core.c569 struct mlx5_flow_table *ft; in del_hw_flow_table() local
573 fs_get_obj(ft, node); in del_hw_flow_table()
574 dev = get_dev(&ft->node); in del_hw_flow_table()
575 root = find_root(&ft->node); in del_hw_flow_table()
576 trace_mlx5_fs_del_ft(ft); in del_hw_flow_table()
579 err = root->cmds->destroy_flow_table(root, ft); in del_hw_flow_table()
587 struct mlx5_flow_table *ft; in del_sw_flow_table() local
590 fs_get_obj(ft, node); in del_sw_flow_table()
592 rhltable_destroy(&ft->fgs_hash); in del_sw_flow_table()
593 if (ft->node.parent) { in del_sw_flow_table()
[all …]
H A Dfs_cmd.h40 struct mlx5_flow_table *ft,
44 struct mlx5_flow_table *ft);
47 struct mlx5_flow_table *ft,
51 struct mlx5_flow_table *ft,
56 struct mlx5_flow_table *ft,
60 struct mlx5_flow_table *ft,
65 struct mlx5_flow_table *ft,
71 struct mlx5_flow_table *ft,
75 struct mlx5_flow_table *ft,
128 static inline bool mlx5_fs_cmd_is_fw_term_table(struct mlx5_flow_table *ft) in mlx5_fs_cmd_is_fw_term_table() argument
[all …]
H A Den_arfs.c44 struct mlx5e_flow_table ft; member
168 dest.ft = arfs->arfs_tables[i].ft.t; in mlx5e_arfs_enable()
186 mlx5e_destroy_flow_table(&arfs_t->ft); in arfs_destroy_table()
197 if (!IS_ERR_OR_NULL(arfs->arfs_tables[i].ft.t)) in _mlx5e_cleanup_tables()
236 arfs_t->default_rule = mlx5_add_flow_rules(arfs_t->ft.t, NULL, in arfs_add_default_rule()
253 static int arfs_create_groups(struct mlx5e_flow_table *ft, in arfs_create_groups() argument
263 ft->g = kzalloc_objs(*ft->g, MLX5E_ARFS_NUM_GROUPS); in arfs_create_groups()
264 if (!ft->g) in arfs_create_groups()
319 ft->g[ft->num_groups] = mlx5_create_flow_group(ft->t, in); in arfs_create_groups()
320 if (IS_ERR(ft->g[ft->num_groups])) in arfs_create_groups()
[all …]
H A Drdma.c19 mlx5_destroy_flow_table(roce->ft); in mlx5_rdma_disable_roce_steering()
31 struct mlx5_flow_table *ft; in mlx5_rdma_enable_roce_steering() local
58 ft = mlx5_create_flow_table(ns, &ft_attr); in mlx5_rdma_enable_roce_steering()
59 if (IS_ERR(ft)) { in mlx5_rdma_enable_roce_steering()
61 err = PTR_ERR(ft); in mlx5_rdma_enable_roce_steering()
68 fg = mlx5_create_flow_group(ft, flow_group_in); in mlx5_rdma_enable_roce_steering()
78 flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, NULL, 0); in mlx5_rdma_enable_roce_steering()
88 roce->ft = ft; in mlx5_rdma_enable_roce_steering()
97 mlx5_destroy_flow_table(ft); in mlx5_rdma_enable_roce_steering()
135 if (!roce->ft) in mlx5_rdma_disable_roce()
/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/
H A Dipsec_fs_roce.c18 struct mlx5_flow_table *ft; member
34 struct mlx5_flow_table *ft; member
86 struct mlx5_flow_table *ft, in ipsec_fs_create_aliased_ft() argument
89 u32 aliased_object_id = (ft->type << FT_ID_FT_TYPE_OFFSET) | ft->id; in ipsec_fs_create_aliased_ft()
151 dst.ft = roce->goto_alias_ft; in ipsec_fs_roce_rx_rule_setup()
154 dst.ft = roce->ft_rdma; in ipsec_fs_roce_rx_rule_setup()
156 rule = mlx5_add_flow_rules(roce->ft, spec, &flow_act, &dst, 1); in ipsec_fs_roce_rx_rule_setup()
169 rule = mlx5_add_flow_rules(roce->ft, spec, &flow_act, default_dst, 1); in ipsec_fs_roce_rx_rule_setup()
186 dst.ft = roce->ft_rdma; in ipsec_fs_roce_rx_rule_setup()
220 dst.ft = pol_ft; in ipsec_fs_roce_tx_rule_setup()
[all …]
H A Dmacsec_fs.c138 struct mlx5_flow_table *ft; member
196 static void macsec_fs_destroy_groups(struct mlx5_macsec_flow_table *ft) in macsec_fs_destroy_groups() argument
200 for (i = ft->num_groups - 1; i >= 0; i--) { in macsec_fs_destroy_groups()
201 if (!IS_ERR_OR_NULL(ft->g[i])) in macsec_fs_destroy_groups()
202 mlx5_destroy_flow_group(ft->g[i]); in macsec_fs_destroy_groups()
203 ft->g[i] = NULL; in macsec_fs_destroy_groups()
205 ft->num_groups = 0; in macsec_fs_destroy_groups()
208 static void macsec_fs_destroy_flow_table(struct mlx5_macsec_flow_table *ft) in macsec_fs_destroy_flow_table() argument
210 macsec_fs_destroy_groups(ft); in macsec_fs_destroy_flow_table()
211 kfree(ft->g); in macsec_fs_destroy_flow_table()
[all …]
H A Dfs_chains.c69 struct mlx5_flow_table *ft; member
146 struct mlx5_flow_table *ft) in mlx5_chains_set_end_ft() argument
148 chains_end_ft(chains) = ft; in mlx5_chains_set_end_ft()
157 struct mlx5_flow_table *ft; in mlx5_chains_create_table() local
207 ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in mlx5_chains_create_table()
208 if (IS_ERR(ft)) { in mlx5_chains_create_table()
210 (int)PTR_ERR(ft), chain, prio, level, sz); in mlx5_chains_create_table()
211 return ft; in mlx5_chains_create_table()
214 return ft; in mlx5_chains_create_table()
375 struct mlx5_flow_table *ft, in mlx5_chains_add_miss_rule() argument
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/
H A Dipsec_fs.c35 struct mlx5e_ipsec_ft ft; member
54 struct mlx5e_ipsec_ft ft; member
101 struct mlx5_flow_table *ft; in ipsec_chains_create() local
116 ft = mlx5_chains_get_table(chains, 0, 1, 0); in ipsec_chains_create()
117 if (IS_ERR(ft)) { in ipsec_chains_create()
118 err = PTR_ERR(ft); in ipsec_chains_create()
122 *root_ft = ft; in ipsec_chains_create()
202 struct mlx5_flow_table *ft = rx->ft.status; in rx_add_rule_drop_auth_trailer() local
235 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in rx_add_rule_drop_auth_trailer()
255 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in rx_add_rule_drop_auth_trailer()
[all …]
H A Dfs_tcp.c80 struct mlx5e_flow_table *ft = NULL; in mlx5e_accel_fs_add_sk() local
94 ft = &fs_tcp->tables[ACCEL_FS_IPV4_TCP]; in mlx5e_accel_fs_add_sk()
106 ft = &fs_tcp->tables[ACCEL_FS_IPV4_TCP]; in mlx5e_accel_fs_add_sk()
109 ft = &fs_tcp->tables[ACCEL_FS_IPV6_TCP]; in mlx5e_accel_fs_add_sk()
117 if (!ft) { in mlx5e_accel_fs_add_sk()
138 flow = mlx5_add_flow_rules(ft->t, spec, &flow_act, &dest, 1); in mlx5e_accel_fs_add_sk()
179 static int accel_fs_tcp_create_groups(struct mlx5e_flow_table *ft, in accel_fs_tcp_create_groups() argument
189 ft->g = kzalloc_objs(*ft->g, MLX5E_ACCEL_FS_TCP_NUM_GROUPS); in accel_fs_tcp_create_groups()
191 if (!in || !ft->g) { in accel_fs_tcp_create_groups()
192 kfree(ft->g); in accel_fs_tcp_create_groups()
[all …]
H A Dpsp.c26 struct mlx5_flow_table *ft; member
35 struct mlx5_flow_table *ft; member
44 struct mlx5_flow_table *ft; member
114 if (rx_err->ft) { in accel_psp_fs_rx_err_destroy_ft()
115 mlx5_destroy_flow_table(rx_err->ft); in accel_psp_fs_rx_err_destroy_ft()
116 rx_err->ft = NULL; in accel_psp_fs_rx_err_destroy_ft()
173 dest[0].ft = fs_prot->default_dest.ft; in accel_psp_fs_rx_err_add_rule()
176 fte = mlx5_add_flow_rules(rx_err->ft, spec, &flow_act, dest, 2); in accel_psp_fs_rx_err_add_rule()
193 fte = mlx5_add_flow_rules(rx_err->ft, spec, &flow_act, dest, 1); in accel_psp_fs_rx_err_add_rule()
211 fte = mlx5_add_flow_rules(rx_err->ft, spec, &flow_act, dest, 1); in accel_psp_fs_rx_err_add_rule()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
H A Dpost_meter.c12 struct mlx5_flow_table *ft; member
21 struct mlx5_flow_table *ft; member
43 return post_meter->rate_steering_table.ft; in mlx5e_post_meter_get_ft()
49 return post_meter->mtu_tables.green_table.ft; in mlx5e_post_meter_get_mtu_true_ft()
55 return post_meter->mtu_tables.red_table.ft; in mlx5e_post_meter_get_mtu_false_ft()
102 table->fg = mlx5_create_flow_group(table->ft, flow_group_in); in mlx5e_post_meter_rate_fg_create()
165 red_attr->ft = post_meter->rate_steering_table.ft; in mlx5e_post_meter_rate_rules_create()
178 green_attr->ft = post_meter->rate_steering_table.ft; in mlx5e_post_meter_rate_rules_create()
218 mlx5_destroy_flow_table(post_meter->rate_steering_table.ft); in mlx5e_post_meter_rate_table_destroy()
244 mlx5_destroy_flow_table(mtu_tables->green_table.ft); in mlx5e_post_meter_mtu_table_destroy()
[all …]
H A Dpost_act.c13 struct mlx5_flow_table *ft; member
50 post_act->ft = mlx5_chains_create_global_table(chains); in mlx5e_tc_post_act_init()
51 if (IS_ERR(post_act->ft)) { in mlx5e_tc_post_act_init()
52 err = PTR_ERR(post_act->ft); in mlx5e_tc_post_act_init()
75 mlx5_chains_destroy_global_table(post_act->chains, post_act->ft); in mlx5e_tc_post_act_destroy()
126 post_attr->ft = post_act->ft; in mlx5e_tc_post_act_add()
171 return post_act->ft; in mlx5e_tc_post_act_get_ft()
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/
H A Dfs_dr.c13 struct mlx5_flow_table *ft, in mlx5_cmd_dr_update_root_ft() argument
17 return mlx5_fs_cmd_get_fw_cmds()->update_root_ft(ns, ft, underlay_qpn, in mlx5_cmd_dr_update_root_ft()
22 struct mlx5_flow_table *ft, in set_miss_action() argument
36 old_miss_action = ft->fs_dr_table.miss_action; in set_miss_action()
37 err = mlx5dr_table_set_miss_action(ft->fs_dr_table.dr_table, action); in set_miss_action()
45 ft->fs_dr_table.miss_action = action; in set_miss_action()
57 struct mlx5_flow_table *ft, in mlx5_cmd_dr_create_flow_table() argument
65 if (mlx5_fs_cmd_is_fw_term_table(ft)) in mlx5_cmd_dr_create_flow_table()
66 return mlx5_fs_cmd_get_fw_cmds()->create_flow_table(ns, ft, in mlx5_cmd_dr_create_flow_table()
69 flags = ft->flags; in mlx5_cmd_dr_create_flow_table()
[all …]
/linux/kernel/printk/
H A Dinternal.h194 static inline void printk_get_console_flush_type(struct console_flush_type *ft) in printk_get_console_flush_type() argument
196 memset(ft, 0, sizeof(*ft)); in printk_get_console_flush_type()
202 ft->nbcon_offload = true; in printk_get_console_flush_type()
204 ft->nbcon_atomic = true; in printk_get_console_flush_type()
210 ft->legacy_direct = true; in printk_get_console_flush_type()
212 ft->legacy_offload = true; in printk_get_console_flush_type()
218 ft->nbcon_atomic = true; in printk_get_console_flush_type()
223 ft->legacy_direct = true; in printk_get_console_flush_type()
225 ft->legacy_offload = true; in printk_get_console_flush_type()
235 ft->nbcon_atomic = true; in printk_get_console_flush_type()
[all …]
/linux/fs/smb/server/
H A Dvfs_cache.c431 static void __ksmbd_remove_fd(struct ksmbd_file_table *ft, struct ksmbd_file *fp) in __ksmbd_remove_fd() argument
440 write_lock(&ft->lock); in __ksmbd_remove_fd()
441 idr_remove(ft->idr, fp->volatile_id); in __ksmbd_remove_fd()
442 write_unlock(&ft->lock); in __ksmbd_remove_fd()
445 static void __ksmbd_close_fd(struct ksmbd_file_table *ft, struct ksmbd_file *fp) in __ksmbd_close_fd() argument
452 if (ft) in __ksmbd_close_fd()
453 __ksmbd_remove_fd(ft, fp); in __ksmbd_close_fd()
490 static struct ksmbd_file *__ksmbd_lookup_fd(struct ksmbd_file_table *ft, in __ksmbd_lookup_fd() argument
498 read_lock(&ft->lock); in __ksmbd_lookup_fd()
499 fp = idr_find(ft->idr, id); in __ksmbd_lookup_fd()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dindir_table.c31 struct mlx5_flow_table *ft; member
141 dest.ft = mlx5_chains_get_table(chains, 0, 1, 0); in mlx5_esw_indir_table_rule_get()
142 if (IS_ERR(dest.ft)) { in mlx5_esw_indir_table_rule_get()
143 err = PTR_ERR(dest.ft); in mlx5_esw_indir_table_rule_get()
146 handle = mlx5_add_flow_rules(e->ft, NULL, &flow_act, &dest, 1); in mlx5_esw_indir_table_rule_get()
201 e->recirc_grp = mlx5_create_flow_group(e->ft, in); in mlx5_create_indir_recirc_group()
224 e->fwd_grp = mlx5_create_flow_group(e->ft, in); in mlx5_create_indir_fwd_group()
236 e->fwd_rule = mlx5_add_flow_rules(e->ft, NULL, &flow_act, &dest, 1); in mlx5_create_indir_fwd_group()
254 struct mlx5_flow_table *ft; in mlx5_esw_indir_table_entry_create() local
270 ft = mlx5_create_flow_table(root_ns, &ft_attr); in mlx5_esw_indir_table_entry_create()
[all …]
/linux/net/netfilter/
H A Dnf_flow_table_xdp.c12 struct nf_flowtable *ft; member
43 return ft_elem ? ft_elem->ft : NULL; in nf_flowtable_by_dev()
50 static int nf_flowtable_by_dev_insert(struct nf_flowtable *ft, in nf_flowtable_by_dev_insert() argument
61 ft_elem->ft = ft; in nf_flowtable_by_dev_insert()
94 static void nf_flowtable_by_dev_remove(struct nf_flowtable *ft, in nf_flowtable_by_dev_remove() argument
113 if (ft_elem->ft == ft) { in nf_flowtable_by_dev_remove()
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/
H A Dfs_hws.c174 struct mlx5_flow_table *ft, in mlx5_fs_set_ft_default_miss() argument
184 if (!next_ft && !ft->fs_hws_table.miss_ft_set) in mlx5_fs_set_ft_default_miss()
188 err = mlx5hws_table_set_default_miss(ft->fs_hws_table.hws_table, next_tbl); in mlx5_fs_set_ft_default_miss()
193 ft->fs_hws_table.miss_ft_set = !!next_tbl; in mlx5_fs_set_ft_default_miss()
198 struct mlx5_flow_table *ft) in mlx5_fs_add_flow_table_dest_action() argument
207 ft->id, flags); in mlx5_fs_add_flow_table_dest_action()
214 err = xa_insert(dests_xa, ft->id, dest_ft_action, GFP_KERNEL); in mlx5_fs_add_flow_table_dest_action()
221 struct mlx5_flow_table *ft) in mlx5_fs_del_flow_table_dest_action() argument
229 dest_ft_action = xa_erase(dests_xa, ft->id); in mlx5_fs_del_flow_table_dest_action()
242 struct mlx5_flow_table *ft, in mlx5_cmd_hws_create_flow_table() argument
[all …]
/linux/samples/vfs/
H A Dtest-statx.c85 char buffer[256], ft = '?'; in dump_statx() local
97 case S_IFIFO: printf(" FIFO\n"); ft = 'p'; break; in dump_statx()
98 case S_IFCHR: printf(" character special file\n"); ft = 'c'; break; in dump_statx()
99 case S_IFDIR: printf(" directory\n"); ft = 'd'; break; in dump_statx()
100 case S_IFBLK: printf(" block special file\n"); ft = 'b'; break; in dump_statx()
101 case S_IFREG: printf(" regular file\n"); ft = '-'; break; in dump_statx()
102 case S_IFLNK: printf(" symbolic link\n"); ft = 'l'; break; in dump_statx()
103 case S_IFSOCK: printf(" socket\n"); ft = 's'; break; in dump_statx()
132 ft, in dump_statx()

12345