1 /* 2 * Used for tfc_wwn_cit attributes 3 */ 4 5 #include <target/configfs_macros.h> 6 7 CONFIGFS_EATTR_STRUCT(target_fabric_nacl_attrib, se_node_acl); 8 #define TF_NACL_ATTRIB_ATTR(_fabric, _name, _mode) \ 9 static struct target_fabric_nacl_attrib_attribute _fabric##_nacl_attrib_##_name = \ 10 __CONFIGFS_EATTR(_name, _mode, \ 11 _fabric##_nacl_attrib_show_##_name, \ 12 _fabric##_nacl_attrib_store_##_name); 13 14 CONFIGFS_EATTR_STRUCT(target_fabric_nacl_auth, se_node_acl); 15 #define TF_NACL_AUTH_ATTR(_fabric, _name, _mode) \ 16 static struct target_fabric_nacl_auth_attribute _fabric##_nacl_auth_##_name = \ 17 __CONFIGFS_EATTR(_name, _mode, \ 18 _fabric##_nacl_auth_show_##_name, \ 19 _fabric##_nacl_auth_store_##_name); 20 21 #define TF_NACL_AUTH_ATTR_RO(_fabric, _name) \ 22 static struct target_fabric_nacl_auth_attribute _fabric##_nacl_auth_##_name = \ 23 __CONFIGFS_EATTR_RO(_name, \ 24 _fabric##_nacl_auth_show_##_name); 25 26 CONFIGFS_EATTR_STRUCT(target_fabric_nacl_param, se_node_acl); 27 #define TF_NACL_PARAM_ATTR(_fabric, _name, _mode) \ 28 static struct target_fabric_nacl_param_attribute _fabric##_nacl_param_##_name = \ 29 __CONFIGFS_EATTR(_name, _mode, \ 30 _fabric##_nacl_param_show_##_name, \ 31 _fabric##_nacl_param_store_##_name); 32 33 #define TF_NACL_PARAM_ATTR_RO(_fabric, _name) \ 34 static struct target_fabric_nacl_param_attribute _fabric##_nacl_param_##_name = \ 35 __CONFIGFS_EATTR_RO(_name, \ 36 _fabric##_nacl_param_show_##_name); 37 38 39 CONFIGFS_EATTR_STRUCT(target_fabric_nacl_base, se_node_acl); 40 #define TF_NACL_BASE_ATTR(_fabric, _name, _mode) \ 41 static struct target_fabric_nacl_base_attribute _fabric##_nacl_##_name = \ 42 __CONFIGFS_EATTR(_name, _mode, \ 43 _fabric##_nacl_show_##_name, \ 44 _fabric##_nacl_store_##_name); 45 46 #define TF_NACL_BASE_ATTR_RO(_fabric, _name) \ 47 static struct target_fabric_nacl_base_attribute _fabric##_nacl_##_name = \ 48 __CONFIGFS_EATTR_RO(_name, \ 49 _fabric##_nacl_show_##_name); 50 51 CONFIGFS_EATTR_STRUCT(target_fabric_np_base, se_tpg_np); 52 #define TF_NP_BASE_ATTR(_fabric, _name, _mode) \ 53 static struct target_fabric_np_base_attribute _fabric##_np_##_name = \ 54 __CONFIGFS_EATTR(_name, _mode, \ 55 _fabric##_np_show_##_name, \ 56 _fabric##_np_store_##_name); 57 58 CONFIGFS_EATTR_STRUCT(target_fabric_tpg_attrib, se_portal_group); 59 #define TF_TPG_ATTRIB_ATTR(_fabric, _name, _mode) \ 60 static struct target_fabric_tpg_attrib_attribute _fabric##_tpg_attrib_##_name = \ 61 __CONFIGFS_EATTR(_name, _mode, \ 62 _fabric##_tpg_attrib_show_##_name, \ 63 _fabric##_tpg_attrib_store_##_name); 64 65 66 CONFIGFS_EATTR_STRUCT(target_fabric_tpg_param, se_portal_group); 67 #define TF_TPG_PARAM_ATTR(_fabric, _name, _mode) \ 68 static struct target_fabric_tpg_param_attribute _fabric##_tpg_param_##_name = \ 69 __CONFIGFS_EATTR(_name, _mode, \ 70 _fabric##_tpg_param_show_##_name, \ 71 _fabric##_tpg_param_store_##_name); 72 73 74 CONFIGFS_EATTR_STRUCT(target_fabric_tpg, se_portal_group); 75 #define TF_TPG_BASE_ATTR(_fabric, _name, _mode) \ 76 static struct target_fabric_tpg_attribute _fabric##_tpg_##_name = \ 77 __CONFIGFS_EATTR(_name, _mode, \ 78 _fabric##_tpg_show_##_name, \ 79 _fabric##_tpg_store_##_name); 80 81 82 CONFIGFS_EATTR_STRUCT(target_fabric_wwn, target_fabric_configfs); 83 #define TF_WWN_ATTR(_fabric, _name, _mode) \ 84 static struct target_fabric_wwn_attribute _fabric##_wwn_##_name = \ 85 __CONFIGFS_EATTR(_name, _mode, \ 86 _fabric##_wwn_show_attr_##_name, \ 87 _fabric##_wwn_store_attr_##_name); 88 89 #define TF_WWN_ATTR_RO(_fabric, _name) \ 90 static struct target_fabric_wwn_attribute _fabric##_wwn_##_name = \ 91 __CONFIGFS_EATTR_RO(_name, \ 92 _fabric##_wwn_show_attr_##_name); 93 94 CONFIGFS_EATTR_STRUCT(target_fabric_discovery, target_fabric_configfs); 95 #define TF_DISC_ATTR(_fabric, _name, _mode) \ 96 static struct target_fabric_discovery_attribute _fabric##_disc_##_name = \ 97 __CONFIGFS_EATTR(_name, _mode, \ 98 _fabric##_disc_show_##_name, \ 99 _fabric##_disc_store_##_name); 100 101 #define TF_DISC_ATTR_RO(_fabric, _name) \ 102 static struct target_fabric_discovery_attribute _fabric##_disc_##_name = \ 103 __CONFIGFS_EATTR_RO(_name, \ 104 _fabric##_disc_show_##_name); 105 106 extern int target_fabric_setup_cits(struct target_fabric_configfs *); 107