162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef ISCSI_TARGET_LOGIN_H
362306a36Sopenharmony_ci#define ISCSI_TARGET_LOGIN_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/types.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_cistruct iscsit_conn;
862306a36Sopenharmony_cistruct iscsi_login;
962306a36Sopenharmony_cistruct iscsi_np;
1062306a36Sopenharmony_cistruct sockaddr_storage;
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciextern int iscsi_login_setup_crypto(struct iscsit_conn *);
1362306a36Sopenharmony_ciextern int iscsi_check_for_session_reinstatement(struct iscsit_conn *);
1462306a36Sopenharmony_ciextern int iscsi_login_post_auth_non_zero_tsih(struct iscsit_conn *, u16, u32);
1562306a36Sopenharmony_ciextern int iscsit_setup_np(struct iscsi_np *,
1662306a36Sopenharmony_ci				struct sockaddr_storage *);
1762306a36Sopenharmony_ciextern int iscsi_target_setup_login_socket(struct iscsi_np *,
1862306a36Sopenharmony_ci				struct sockaddr_storage *);
1962306a36Sopenharmony_ciextern int iscsit_accept_np(struct iscsi_np *, struct iscsit_conn *);
2062306a36Sopenharmony_ciextern int iscsit_get_login_rx(struct iscsit_conn *, struct iscsi_login *);
2162306a36Sopenharmony_ciextern int iscsit_put_login_tx(struct iscsit_conn *, struct iscsi_login *, u32);
2262306a36Sopenharmony_ciextern void iscsit_free_conn(struct iscsit_conn *);
2362306a36Sopenharmony_ciextern int iscsit_start_kthreads(struct iscsit_conn *);
2462306a36Sopenharmony_ciextern void iscsi_post_login_handler(struct iscsi_np *, struct iscsit_conn *, u8);
2562306a36Sopenharmony_ciextern void iscsi_target_login_sess_out(struct iscsit_conn *, bool, bool);
2662306a36Sopenharmony_ciextern int iscsi_target_login_thread(void *);
2762306a36Sopenharmony_ciextern void iscsi_handle_login_thread_timeout(struct timer_list *t);
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci#endif   /*** ISCSI_TARGET_LOGIN_H ***/
30