18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef ISCSI_TARGET_ERL2_H
38c2ecf20Sopenharmony_ci#define ISCSI_TARGET_ERL2_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <linux/types.h>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cistruct iscsi_cmd;
88c2ecf20Sopenharmony_cistruct iscsi_conn;
98c2ecf20Sopenharmony_cistruct iscsi_conn_recovery;
108c2ecf20Sopenharmony_cistruct iscsi_session;
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciextern void iscsit_create_conn_recovery_datain_values(struct iscsi_cmd *, __be32);
138c2ecf20Sopenharmony_ciextern void iscsit_create_conn_recovery_dataout_values(struct iscsi_cmd *);
148c2ecf20Sopenharmony_ciextern struct iscsi_conn_recovery *iscsit_get_inactive_connection_recovery_entry(
158c2ecf20Sopenharmony_ci			struct iscsi_session *, u16);
168c2ecf20Sopenharmony_ciextern void iscsit_free_connection_recovery_entries(struct iscsi_session *);
178c2ecf20Sopenharmony_ciextern int iscsit_remove_active_connection_recovery_entry(
188c2ecf20Sopenharmony_ci			struct iscsi_conn_recovery *, struct iscsi_session *);
198c2ecf20Sopenharmony_ciextern int iscsit_remove_cmd_from_connection_recovery(struct iscsi_cmd *,
208c2ecf20Sopenharmony_ci			struct iscsi_session *);
218c2ecf20Sopenharmony_ciextern void iscsit_discard_cr_cmds_by_expstatsn(struct iscsi_conn_recovery *, u32);
228c2ecf20Sopenharmony_ciextern int iscsit_discard_unacknowledged_ooo_cmdsns_for_conn(struct iscsi_conn *);
238c2ecf20Sopenharmony_ciextern int iscsit_prepare_cmds_for_reallegiance(struct iscsi_conn *);
248c2ecf20Sopenharmony_ciextern int iscsit_connection_recovery_transport_reset(struct iscsi_conn *);
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#endif /*** ISCSI_TARGET_ERL2_H ***/
27