162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef ISCSI_TARGET_ERL1_H 362306a36Sopenharmony_ci#define ISCSI_TARGET_ERL1_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/types.h> 662306a36Sopenharmony_ci#include <scsi/iscsi_proto.h> /* itt_t */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_cistruct iscsit_cmd; 962306a36Sopenharmony_cistruct iscsit_conn; 1062306a36Sopenharmony_cistruct iscsi_datain_req; 1162306a36Sopenharmony_cistruct iscsi_ooo_cmdsn; 1262306a36Sopenharmony_cistruct iscsi_pdu; 1362306a36Sopenharmony_cistruct iscsit_session; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciextern int iscsit_dump_data_payload(struct iscsit_conn *, u32, int); 1662306a36Sopenharmony_ciextern int iscsit_create_recovery_datain_values_datasequenceinorder_yes( 1762306a36Sopenharmony_ci struct iscsit_cmd *, struct iscsi_datain_req *); 1862306a36Sopenharmony_ciextern int iscsit_create_recovery_datain_values_datasequenceinorder_no( 1962306a36Sopenharmony_ci struct iscsit_cmd *, struct iscsi_datain_req *); 2062306a36Sopenharmony_ciextern int iscsit_handle_recovery_datain_or_r2t(struct iscsit_conn *, unsigned char *, 2162306a36Sopenharmony_ci itt_t, u32, u32, u32); 2262306a36Sopenharmony_ciextern int iscsit_handle_status_snack(struct iscsit_conn *, itt_t, u32, 2362306a36Sopenharmony_ci u32, u32); 2462306a36Sopenharmony_ciextern int iscsit_handle_data_ack(struct iscsit_conn *, u32, u32, u32); 2562306a36Sopenharmony_ciextern int iscsit_dataout_datapduinorder_no_fbit(struct iscsit_cmd *, struct iscsi_pdu *); 2662306a36Sopenharmony_ciextern int iscsit_recover_dataout_sequence(struct iscsit_cmd *, u32, u32); 2762306a36Sopenharmony_ciextern void iscsit_clear_ooo_cmdsns_for_conn(struct iscsit_conn *); 2862306a36Sopenharmony_ciextern void iscsit_free_all_ooo_cmdsns(struct iscsit_session *); 2962306a36Sopenharmony_ciextern int iscsit_execute_ooo_cmdsns(struct iscsit_session *); 3062306a36Sopenharmony_ciextern int iscsit_execute_cmd(struct iscsit_cmd *, int); 3162306a36Sopenharmony_ciextern int iscsit_handle_ooo_cmdsn(struct iscsit_session *, struct iscsit_cmd *, u32); 3262306a36Sopenharmony_ciextern void iscsit_remove_ooo_cmdsn(struct iscsit_session *, struct iscsi_ooo_cmdsn *); 3362306a36Sopenharmony_ciextern void iscsit_handle_dataout_timeout(struct timer_list *t); 3462306a36Sopenharmony_ciextern void iscsit_mod_dataout_timer(struct iscsit_cmd *); 3562306a36Sopenharmony_ciextern void iscsit_start_dataout_timer(struct iscsit_cmd *, struct iscsit_conn *); 3662306a36Sopenharmony_ciextern void iscsit_stop_dataout_timer(struct iscsit_cmd *); 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci#endif /* ISCSI_TARGET_ERL1_H */ 39