1e48354ceSNicholas Bellinger #ifndef ISCSI_TARGET_H 2e48354ceSNicholas Bellinger #define ISCSI_TARGET_H 3e48354ceSNicholas Bellinger 4e48354ceSNicholas Bellinger extern struct iscsi_tiqn *iscsit_get_tiqn_for_login(unsigned char *); 5e48354ceSNicholas Bellinger extern struct iscsi_tiqn *iscsit_get_tiqn(unsigned char *, int); 6e48354ceSNicholas Bellinger extern void iscsit_put_tiqn_for_login(struct iscsi_tiqn *); 7e48354ceSNicholas Bellinger extern struct iscsi_tiqn *iscsit_add_tiqn(unsigned char *); 8e48354ceSNicholas Bellinger extern void iscsit_del_tiqn(struct iscsi_tiqn *); 9e48354ceSNicholas Bellinger extern int iscsit_access_np(struct iscsi_np *, struct iscsi_portal_group *); 10*a91eb7d9SNicholas Bellinger extern void iscsit_login_kref_put(struct kref *); 11*a91eb7d9SNicholas Bellinger extern int iscsit_deaccess_np(struct iscsi_np *, struct iscsi_portal_group *, 12*a91eb7d9SNicholas Bellinger struct iscsi_tpg_np *); 1305b96892SNicholas Bellinger extern bool iscsit_check_np_match(struct __kernel_sockaddr_storage *, 1405b96892SNicholas Bellinger struct iscsi_np *, int); 15e48354ceSNicholas Bellinger extern struct iscsi_np *iscsit_add_np(struct __kernel_sockaddr_storage *, 16e48354ceSNicholas Bellinger char *, int); 17e48354ceSNicholas Bellinger extern int iscsit_reset_np_thread(struct iscsi_np *, struct iscsi_tpg_np *, 18*a91eb7d9SNicholas Bellinger struct iscsi_portal_group *, bool); 19e48354ceSNicholas Bellinger extern int iscsit_del_np(struct iscsi_np *); 20ba159914SNicholas Bellinger extern int iscsit_reject_cmd(struct iscsi_cmd *cmd, u8, unsigned char *); 213e1c81a9SNicholas Bellinger extern void iscsit_set_unsoliticed_dataout(struct iscsi_cmd *); 22e48354ceSNicholas Bellinger extern int iscsit_logout_closesession(struct iscsi_cmd *, struct iscsi_conn *); 23e48354ceSNicholas Bellinger extern int iscsit_logout_closeconnection(struct iscsi_cmd *, struct iscsi_conn *); 24e48354ceSNicholas Bellinger extern int iscsit_logout_removeconnforrecovery(struct iscsi_cmd *, struct iscsi_conn *); 25e48354ceSNicholas Bellinger extern int iscsit_send_async_msg(struct iscsi_conn *, u16, u8, u8); 263e1c81a9SNicholas Bellinger extern int iscsit_build_r2ts_for_cmd(struct iscsi_conn *, struct iscsi_cmd *, bool recovery); 27e48354ceSNicholas Bellinger extern void iscsit_thread_get_cpumask(struct iscsi_conn *); 28e48354ceSNicholas Bellinger extern int iscsi_target_tx_thread(void *); 29e48354ceSNicholas Bellinger extern int iscsi_target_rx_thread(void *); 30e48354ceSNicholas Bellinger extern int iscsit_close_connection(struct iscsi_conn *); 31e48354ceSNicholas Bellinger extern int iscsit_close_session(struct iscsi_session *); 32e48354ceSNicholas Bellinger extern void iscsit_fail_session(struct iscsi_session *); 33e48354ceSNicholas Bellinger extern int iscsit_free_session(struct iscsi_session *); 34e48354ceSNicholas Bellinger extern void iscsit_stop_session(struct iscsi_session *, int, int); 35e48354ceSNicholas Bellinger extern int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *, int); 36e48354ceSNicholas Bellinger 37e48354ceSNicholas Bellinger extern struct iscsit_global *iscsit_global; 38e48354ceSNicholas Bellinger extern struct target_fabric_configfs *lio_target_fabric_configfs; 39e48354ceSNicholas Bellinger 40e48354ceSNicholas Bellinger extern struct kmem_cache *lio_dr_cache; 41e48354ceSNicholas Bellinger extern struct kmem_cache *lio_ooo_cache; 42e48354ceSNicholas Bellinger extern struct kmem_cache *lio_cmd_cache; 43e48354ceSNicholas Bellinger extern struct kmem_cache *lio_qr_cache; 44e48354ceSNicholas Bellinger extern struct kmem_cache *lio_r2t_cache; 45e48354ceSNicholas Bellinger 46fceb5bc7SChristoph Hellwig extern struct idr sess_idr; 47fceb5bc7SChristoph Hellwig extern struct mutex auth_id_lock; 48fceb5bc7SChristoph Hellwig extern spinlock_t sess_idr_lock; 49fceb5bc7SChristoph Hellwig 50fceb5bc7SChristoph Hellwig 51e48354ceSNicholas Bellinger #endif /*** ISCSI_TARGET_H ***/ 52