1 #define TARGET_CORE_CONFIGFS_VERSION TARGET_CORE_MOD_VERSION
2 
3 #define TARGET_CORE_CONFIG_ROOT	"/sys/kernel/config"
4 
5 #define TARGET_CORE_NAME_MAX_LEN	64
6 #define TARGET_FABRIC_NAME_SIZE		32
7 
8 struct target_fabric_configfs_template {
9 	struct config_item_type tfc_discovery_cit;
10 	struct config_item_type	tfc_wwn_cit;
11 	struct config_item_type tfc_wwn_fabric_stats_cit;
12 	struct config_item_type tfc_tpg_cit;
13 	struct config_item_type tfc_tpg_base_cit;
14 	struct config_item_type tfc_tpg_lun_cit;
15 	struct config_item_type tfc_tpg_port_cit;
16 	struct config_item_type tfc_tpg_port_stat_cit;
17 	struct config_item_type tfc_tpg_np_cit;
18 	struct config_item_type tfc_tpg_np_base_cit;
19 	struct config_item_type tfc_tpg_attrib_cit;
20 	struct config_item_type tfc_tpg_auth_cit;
21 	struct config_item_type tfc_tpg_param_cit;
22 	struct config_item_type tfc_tpg_nacl_cit;
23 	struct config_item_type tfc_tpg_nacl_base_cit;
24 	struct config_item_type tfc_tpg_nacl_attrib_cit;
25 	struct config_item_type tfc_tpg_nacl_auth_cit;
26 	struct config_item_type tfc_tpg_nacl_param_cit;
27 	struct config_item_type tfc_tpg_nacl_stat_cit;
28 	struct config_item_type tfc_tpg_mappedlun_cit;
29 	struct config_item_type tfc_tpg_mappedlun_stat_cit;
30 };
31 
32 struct target_fabric_configfs {
33 	char			tf_name[TARGET_FABRIC_NAME_SIZE];
34 	atomic_t		tf_access_cnt;
35 	struct list_head	tf_list;
36 	struct config_group	tf_group;
37 	struct config_group	tf_disc_group;
38 	struct config_group	*tf_default_groups[2];
39 	/* Pointer to fabric's config_item */
40 	struct config_item	*tf_fabric;
41 	/* Passed from fabric modules */
42 	struct config_item_type	*tf_fabric_cit;
43 	/* Pointer to fabric's struct module */
44 	struct module *tf_module;
45 	struct target_core_fabric_ops tf_ops;
46 	struct target_fabric_configfs_template tf_cit_tmpl;
47 };
48 
49