162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef ISCSI_TARGET_ERL2_H
362306a36Sopenharmony_ci#define ISCSI_TARGET_ERL2_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/types.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_cistruct iscsit_cmd;
862306a36Sopenharmony_cistruct iscsit_conn;
962306a36Sopenharmony_cistruct iscsi_conn_recovery;
1062306a36Sopenharmony_cistruct iscsit_session;
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciextern void iscsit_create_conn_recovery_datain_values(struct iscsit_cmd *, __be32);
1362306a36Sopenharmony_ciextern void iscsit_create_conn_recovery_dataout_values(struct iscsit_cmd *);
1462306a36Sopenharmony_ciextern struct iscsi_conn_recovery *iscsit_get_inactive_connection_recovery_entry(
1562306a36Sopenharmony_ci			struct iscsit_session *, u16);
1662306a36Sopenharmony_ciextern void iscsit_free_connection_recovery_entries(struct iscsit_session *);
1762306a36Sopenharmony_ciextern int iscsit_remove_active_connection_recovery_entry(
1862306a36Sopenharmony_ci			struct iscsi_conn_recovery *, struct iscsit_session *);
1962306a36Sopenharmony_ciextern int iscsit_remove_cmd_from_connection_recovery(struct iscsit_cmd *,
2062306a36Sopenharmony_ci			struct iscsit_session *);
2162306a36Sopenharmony_ciextern void iscsit_discard_cr_cmds_by_expstatsn(struct iscsi_conn_recovery *, u32);
2262306a36Sopenharmony_ciextern int iscsit_discard_unacknowledged_ooo_cmdsns_for_conn(struct iscsit_conn *);
2362306a36Sopenharmony_ciextern int iscsit_prepare_cmds_for_reallegiance(struct iscsit_conn *);
2462306a36Sopenharmony_ciextern int iscsit_connection_recovery_transport_reset(struct iscsit_conn *);
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci#endif /*** ISCSI_TARGET_ERL2_H ***/
27