2011-07-23 06:43:04 +00:00
# ifndef ISCSI_TARGET_TPG_H
# define ISCSI_TARGET_TPG_H
2016-11-14 15:47:14 -08:00
# include <linux/types.h>
struct iscsi_np ;
struct iscsi_session ;
struct iscsi_tiqn ;
struct iscsi_tpg_np ;
struct se_node_acl ;
struct sockaddr_storage ;
2011-07-23 06:43:04 +00:00
extern struct iscsi_portal_group * iscsit_alloc_portal_group ( struct iscsi_tiqn * , u16 ) ;
extern int iscsit_load_discovery_tpg ( void ) ;
extern void iscsit_release_discovery_tpg ( void ) ;
extern struct iscsi_portal_group * iscsit_get_tpg_from_np ( struct iscsi_tiqn * ,
2013-08-15 13:40:17 -07:00
struct iscsi_np * , struct iscsi_tpg_np * * ) ;
2011-07-23 06:43:04 +00:00
extern int iscsit_get_tpg ( struct iscsi_portal_group * ) ;
extern void iscsit_put_tpg ( struct iscsi_portal_group * ) ;
extern void iscsit_tpg_dump_params ( struct iscsi_portal_group * ) ;
extern int iscsit_tpg_add_portal_group ( struct iscsi_tiqn * , struct iscsi_portal_group * ) ;
extern int iscsit_tpg_del_portal_group ( struct iscsi_tiqn * , struct iscsi_portal_group * ,
int ) ;
extern int iscsit_tpg_enable_portal_group ( struct iscsi_portal_group * ) ;
extern int iscsit_tpg_disable_portal_group ( struct iscsi_portal_group * , int ) ;
extern struct iscsi_node_acl * iscsit_tpg_add_initiator_node_acl (
struct iscsi_portal_group * , const char * , u32 ) ;
extern void iscsit_tpg_del_initiator_node_acl ( struct iscsi_portal_group * ,
struct se_node_acl * ) ;
extern struct iscsi_node_attrib * iscsit_tpg_get_node_attrib ( struct iscsi_session * ) ;
extern void iscsit_tpg_del_external_nps ( struct iscsi_tpg_np * ) ;
extern struct iscsi_tpg_np * iscsit_tpg_locate_child_np ( struct iscsi_tpg_np * , int ) ;
extern struct iscsi_tpg_np * iscsit_tpg_add_network_portal ( struct iscsi_portal_group * ,
2015-08-24 10:26:06 -07:00
struct sockaddr_storage * , struct iscsi_tpg_np * ,
2011-07-23 06:43:04 +00:00
int ) ;
extern int iscsit_tpg_del_network_portal ( struct iscsi_portal_group * ,
struct iscsi_tpg_np * ) ;
extern int iscsit_ta_authentication ( struct iscsi_portal_group * , u32 ) ;
extern int iscsit_ta_login_timeout ( struct iscsi_portal_group * , u32 ) ;
extern int iscsit_ta_netif_timeout ( struct iscsi_portal_group * , u32 ) ;
extern int iscsit_ta_generate_node_acls ( struct iscsi_portal_group * , u32 ) ;
extern int iscsit_ta_default_cmdsn_depth ( struct iscsi_portal_group * , u32 ) ;
extern int iscsit_ta_cache_dynamic_acls ( struct iscsi_portal_group * , u32 ) ;
extern int iscsit_ta_demo_mode_write_protect ( struct iscsi_portal_group * , u32 ) ;
extern int iscsit_ta_prod_mode_write_protect ( struct iscsi_portal_group * , u32 ) ;
2013-10-07 23:12:11 +02:00
extern int iscsit_ta_demo_mode_discovery ( struct iscsi_portal_group * , u32 ) ;
2013-11-20 11:57:18 -08:00
extern int iscsit_ta_default_erl ( struct iscsi_portal_group * , u32 ) ;
2014-02-19 17:50:20 +02:00
extern int iscsit_ta_t10_pi ( struct iscsi_portal_group * , u32 ) ;
2015-03-29 19:36:16 -07:00
extern int iscsit_ta_fabric_prot_type ( struct iscsi_portal_group * , u32 ) ;
2015-08-01 00:10:12 -07:00
extern int iscsit_ta_tpg_enabled_sendtargets ( struct iscsi_portal_group * , u32 ) ;
2017-07-07 14:45:49 -07:00
extern int iscsit_ta_login_keys_workaround ( struct iscsi_portal_group * , u32 ) ;
2011-07-23 06:43:04 +00:00
# endif /* ISCSI_TARGET_TPG_H */