Nicholas Bellinger | e48354c | 2011-07-23 06:43:04 +0000 | [diff] [blame] | 1 | #ifndef ISCSI_TARGET_TPG_H |
| 2 | #define ISCSI_TARGET_TPG_H |
| 3 | |
Bart Van Assche | 8dcf07b | 2016-11-14 15:47:14 -0800 | [diff] [blame] | 4 | #include <linux/types.h> |
| 5 | |
| 6 | struct iscsi_np; |
| 7 | struct iscsi_session; |
| 8 | struct iscsi_tiqn; |
| 9 | struct iscsi_tpg_np; |
| 10 | struct se_node_acl; |
| 11 | struct sockaddr_storage; |
| 12 | |
Nicholas Bellinger | e48354c | 2011-07-23 06:43:04 +0000 | [diff] [blame] | 13 | extern struct iscsi_portal_group *iscsit_alloc_portal_group(struct iscsi_tiqn *, u16); |
| 14 | extern int iscsit_load_discovery_tpg(void); |
| 15 | extern void iscsit_release_discovery_tpg(void); |
| 16 | extern struct iscsi_portal_group *iscsit_get_tpg_from_np(struct iscsi_tiqn *, |
Nicholas Bellinger | d381a80 | 2013-08-15 13:40:17 -0700 | [diff] [blame] | 17 | struct iscsi_np *, struct iscsi_tpg_np **); |
Nicholas Bellinger | e48354c | 2011-07-23 06:43:04 +0000 | [diff] [blame] | 18 | extern int iscsit_get_tpg(struct iscsi_portal_group *); |
| 19 | extern void iscsit_put_tpg(struct iscsi_portal_group *); |
Nicholas Bellinger | e48354c | 2011-07-23 06:43:04 +0000 | [diff] [blame] | 20 | extern void iscsit_tpg_dump_params(struct iscsi_portal_group *); |
| 21 | extern int iscsit_tpg_add_portal_group(struct iscsi_tiqn *, struct iscsi_portal_group *); |
| 22 | extern int iscsit_tpg_del_portal_group(struct iscsi_tiqn *, struct iscsi_portal_group *, |
| 23 | int); |
| 24 | extern int iscsit_tpg_enable_portal_group(struct iscsi_portal_group *); |
| 25 | extern int iscsit_tpg_disable_portal_group(struct iscsi_portal_group *, int); |
| 26 | extern struct iscsi_node_acl *iscsit_tpg_add_initiator_node_acl( |
| 27 | struct iscsi_portal_group *, const char *, u32); |
| 28 | extern void iscsit_tpg_del_initiator_node_acl(struct iscsi_portal_group *, |
| 29 | struct se_node_acl *); |
| 30 | extern struct iscsi_node_attrib *iscsit_tpg_get_node_attrib(struct iscsi_session *); |
| 31 | extern void iscsit_tpg_del_external_nps(struct iscsi_tpg_np *); |
| 32 | extern struct iscsi_tpg_np *iscsit_tpg_locate_child_np(struct iscsi_tpg_np *, int); |
| 33 | extern struct iscsi_tpg_np *iscsit_tpg_add_network_portal(struct iscsi_portal_group *, |
Andy Grover | 13a3cf0 | 2015-08-24 10:26:06 -0700 | [diff] [blame] | 34 | struct sockaddr_storage *, struct iscsi_tpg_np *, |
Nicholas Bellinger | e48354c | 2011-07-23 06:43:04 +0000 | [diff] [blame] | 35 | int); |
| 36 | extern int iscsit_tpg_del_network_portal(struct iscsi_portal_group *, |
| 37 | struct iscsi_tpg_np *); |
Nicholas Bellinger | e48354c | 2011-07-23 06:43:04 +0000 | [diff] [blame] | 38 | extern int iscsit_ta_authentication(struct iscsi_portal_group *, u32); |
| 39 | extern int iscsit_ta_login_timeout(struct iscsi_portal_group *, u32); |
| 40 | extern int iscsit_ta_netif_timeout(struct iscsi_portal_group *, u32); |
| 41 | extern int iscsit_ta_generate_node_acls(struct iscsi_portal_group *, u32); |
| 42 | extern int iscsit_ta_default_cmdsn_depth(struct iscsi_portal_group *, u32); |
| 43 | extern int iscsit_ta_cache_dynamic_acls(struct iscsi_portal_group *, u32); |
| 44 | extern int iscsit_ta_demo_mode_write_protect(struct iscsi_portal_group *, u32); |
| 45 | extern int iscsit_ta_prod_mode_write_protect(struct iscsi_portal_group *, u32); |
Thomas Glanzmann | 4c54b6c | 2013-10-07 23:12:11 +0200 | [diff] [blame] | 46 | extern int iscsit_ta_demo_mode_discovery(struct iscsi_portal_group *, u32); |
Nicholas Bellinger | d1fa7a1 | 2013-11-20 11:57:18 -0800 | [diff] [blame] | 47 | extern int iscsit_ta_default_erl(struct iscsi_portal_group *, u32); |
Sagi Grimberg | 8085176 | 2014-02-19 17:50:20 +0200 | [diff] [blame] | 48 | extern int iscsit_ta_t10_pi(struct iscsi_portal_group *, u32); |
Nicholas Bellinger | 901c04a | 2015-03-29 19:36:16 -0700 | [diff] [blame] | 49 | extern int iscsit_ta_fabric_prot_type(struct iscsi_portal_group *, u32); |
David Disseldorp | a6415cd | 2015-08-01 00:10:12 -0700 | [diff] [blame] | 50 | extern int iscsit_ta_tpg_enabled_sendtargets(struct iscsi_portal_group *, u32); |
Nicholas Bellinger | 138d351 | 2017-07-07 14:45:49 -0700 | [diff] [blame] | 51 | extern int iscsit_ta_login_keys_workaround(struct iscsi_portal_group *, u32); |
Nicholas Bellinger | e48354c | 2011-07-23 06:43:04 +0000 | [diff] [blame] | 52 | |
| 53 | #endif /* ISCSI_TARGET_TPG_H */ |