:orphan: .. index:: pair: group; iSCSI .. _doxid-group__te__tools__te__iscsi: iSCSI ===== .. toctree:: :hidden: enum_iscsi_command_attr_values.rst enum_iscsi_connection_status.rst enum_iscsi_error_recovery_levels.rst enum_iscsi_initiator_opcode.rst enum_iscsi_login_stage_t.rst enum_iscsi_logout_reasons.rst enum_iscsi_logout_responses.rst enum_iscsi_reject_reasons.rst enum_iscsi_snack_types.rst enum_iscsi_status_classes.rst enum_iscsi_status_details.rst enum_iscsi_targ_async_msg_events.rst enum_iscsi_target_opcodes.rst enum_iscsi_tmf_responses.rst enum_iscsi_tmf_task_codes.rst struct_generic_pdu.rst struct_iscsi_init_login_cmnd.rst struct_iscsi_init_logout_cmnd.rst struct_iscsi_init_nopout.rst struct_iscsi_init_scsi_cmnd.rst struct_iscsi_init_scsi_data_out.rst struct_iscsi_init_snack.rst struct_iscsi_init_task_mgt_command.rst struct_iscsi_init_text_cmnd.rst struct_iscsi_targ_async_msg.rst struct_iscsi_targ_login_rsp.rst struct_iscsi_targ_logout_rsp.rst struct_iscsi_targ_nopin.rst struct_iscsi_targ_r2t.rst struct_iscsi_targ_rjt.rst struct_iscsi_targ_scsi_data_in.rst struct_iscsi_targ_scsi_rsp.rst struct_iscsi_targ_task_mgt_response.rst struct_iscsi_targ_text_rsp.rst struct_iscsi_target_thread_params_t.rst struct_response_pdu.rst struct_scsi_fixed_sense_data.rst Overview ~~~~~~~~ Functions and constant declared here can be used bothe on the agent and in tests. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block // typedefs typedef enum :ref:`iscsi_connection_status` :ref:`iscsi_connection_status`; // enums enum :ref:`iscsi_command_attr_values`; enum :ref:`iscsi_connection_status`; enum :ref:`iscsi_error_recovery_levels`; enum :ref:`iscsi_initiator_opcode`; enum :ref:`iscsi_login_stage_t`; enum :ref:`iscsi_logout_reasons`; enum :ref:`iscsi_logout_responses`; enum :ref:`iscsi_reject_reasons`; enum :ref:`iscsi_snack_types`; enum :ref:`iscsi_status_classes`; enum :ref:`iscsi_status_details`; enum :ref:`iscsi_targ_async_msg_events`; enum :ref:`iscsi_target_opcodes`; enum :ref:`iscsi_tmf_responses`; enum :ref:`iscsi_tmf_task_codes`; // structs struct :ref:`generic_pdu`; struct :ref:`iscsi_init_login_cmnd`; struct :ref:`iscsi_init_logout_cmnd`; struct :ref:`iscsi_init_nopout`; struct :ref:`iscsi_init_scsi_cmnd`; struct :ref:`iscsi_init_scsi_data_out`; struct :ref:`iscsi_init_snack`; struct :ref:`iscsi_init_task_mgt_command`; struct :ref:`iscsi_init_text_cmnd`; struct :ref:`iscsi_targ_async_msg`; struct :ref:`iscsi_targ_login_rsp`; struct :ref:`iscsi_targ_logout_rsp`; struct :ref:`iscsi_targ_nopin`; struct :ref:`iscsi_targ_r2t`; struct :ref:`iscsi_targ_rjt`; struct :ref:`iscsi_targ_scsi_data_in`; struct :ref:`iscsi_targ_scsi_rsp`; struct :ref:`iscsi_targ_task_mgt_response`; struct :ref:`iscsi_targ_text_rsp`; struct :ref:`iscsi_target_thread_params_t`; struct :ref:`response_pdu`; struct :ref:`scsi_fixed_sense_data`; // global functions static int :target:`iscsi_logout_resp_str2int`(const char* resp); // macros #define :target:`A_BIT` #define :target:`BRO_BIT` #define :target:`BRU_BIT` #define :target:`CONNREC_NOT_SUPPORTED` #define :target:`CONN_HIT_EOF` #define :target:`CONN_LOGGED_OUT` #define :target:`CSG` #define :target:`CSG1` #define :target:`CSG2` #define :target:`CSG3` #define :target:`CSG_SHIFT` #define :target:`C_BIT` #define :target:`DATACK_SNACK_ENABLE` #define :target:`DATA_SNACK_ENABLE` #define :target:`F_BIT` #define :target:`GOT_ACTIVITY` #define :ref:`ISCSI_ALL_CONNECTIONS` #define :target:`ISCSI_DEFAULT_CHALLENGE_LENGTH` #define :target:`ISCSI_DEFAULT_CHAP` #define :target:`ISCSI_DEFAULT_DATA_DIGEST` #define :target:`ISCSI_DEFAULT_DATA_PDU_IN_ORDER` #define :target:`ISCSI_DEFAULT_DATA_SEQUENCE_IN_ORDER` #define :target:`ISCSI_DEFAULT_ERROR_RECOVERY_LEVEL` #define :target:`ISCSI_DEFAULT_FIRST_BURST_LENGTH` #define :target:`ISCSI_DEFAULT_HEADER_DIGEST` #define :target:`ISCSI_DEFAULT_IMMEDIATE_DATA` #define :target:`ISCSI_DEFAULT_INITIAL_R2T` #define :target:`ISCSI_DEFAULT_INITIATOR_ALIAS` #define :target:`ISCSI_DEFAULT_INITIATOR_NAME` #define :target:`ISCSI_DEFAULT_ISCSI_DEFAULT_TIME2RETAIN` #define :target:`ISCSI_DEFAULT_ISCSI_DEFAULT_TIME2WAIT` #define :target:`ISCSI_DEFAULT_MAX_BURST_LENGTH` #define :target:`ISCSI_DEFAULT_MAX_CONNECTIONS` #define :target:`ISCSI_DEFAULT_MAX_OUTSTANDING_R2T` #define :target:`ISCSI_DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH` #define :target:`ISCSI_DEFAULT_SESSION_TYPE` #define :ref:`ISCSI_DEFAULT_TARGET_NAME` #define :target:`ISCSI_HDR_LEN` #define :target:`ISCSI_OPCODE` #define :ref:`ISCSI_SCSI_BLOCKSIZE` #define :target:`I_BIT` #define :ref:`MAX_TEXT_LEN` #define :target:`NEED_TX_WAKEUP` #define :target:`NSG` #define :target:`NSG1` #define :target:`NSG2` #define :target:`NSG3` #define :ref:`OFFER_0` #define :target:`OFFER_DATA_DIGEST` #define :target:`OFFER_DATA_PDU_IN_ORDER` #define :target:`OFFER_DATA_SEQUENCE_IN_ORDER` #define :target:`OFFER_DEFAULT_TIME2RETAIN` #define :target:`OFFER_DEFAULT_TIME2WAIT` #define :target:`OFFER_ERROR_RECOVERY_LEVEL` #define :target:`OFFER_FIRST_BURST_LENGTH` #define :target:`OFFER_HEADER_DIGEST` #define :target:`OFFER_IMMEDIATE_DATA` #define :target:`OFFER_INITIAL_R2T` #define :target:`OFFER_MAX_BURST_LENGTH` #define :target:`OFFER_MAX_CONNECTIONS` #define :target:`OFFER_MAX_OUTSTANDING_R2T` #define :target:`OFFER_MAX_RECV_DATA_SEGMENT_LENGTH` #define :target:`OLD_X_BIT` #define :target:`O_BIT` #define :target:`READ_TYPE_CMND` #define :target:`REPLY_BIT` #define :target:`R_BIT` #define :target:`SAM_STAT_ACA_ACTIVE` #define :target:`SAM_STAT_BUSY` #define :target:`SAM_STAT_CHECK_CONDITION` #define :target:`SAM_STAT_COMMAND_TERMINATED` #define :target:`SAM_STAT_CONDITION_MET` #define :target:`SAM_STAT_GOOD` #define :target:`SAM_STAT_INTERMEDIATE` #define :target:`SAM_STAT_INTERMEDIATE_CONDITION_MET` #define :target:`SAM_STAT_RESERVATION_CONFLICT` #define :target:`SAM_STAT_TASK_ABORTED` #define :target:`SAM_STAT_TASK_SET_FULL` #define :target:`SEND_NO_REPLY_TO_ASYNC_LOGOUT` #define :target:`SEND_NO_REPLY_TO_NOP_PING` #define :ref:`SNACK` #define :target:`STATUS_SNACK_ENABLE` #define :target:`S_BIT` #define :target:`TEXT_FUDGE_LEN` #define :target:`TIME2RETAIN` #define :target:`TIME2WAIT` #define :target:`TX_TIMER_OFF` #define :target:`T_BIT` #define :target:`USE_BASE64` #define :target:`USE_DATADIGEST` #define :target:`USE_FLAT_SPACE_LUN` #define :target:`USE_FULL_REPLIES` #define :target:`USE_HEADERDIGEST` #define :target:`USE_ONE_KEY_PER_TEXT` #define :target:`USE_OPERATIONAL_PHASE` #define :target:`USE_REFLECT_XKEYS` #define :target:`USE_SECURITY_PHASE` #define :target:`USE_TARGET_CONFIRMATION` #define :target:`U_BIT` #define :target:`WRITE_TYPE_CMND` #define :target:`W_BIT` .. _details-group__te__tools__te__iscsi: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Functions and constant declared here can be used bothe on the agent and in tests. Copyright (C) 2004-2022 OKTET Labs Ltd. All rights reserved. Typedefs -------- .. index:: pair: typedef; iscsi_connection_status .. _doxid-group__te__tools__te__iscsi_1ga424d0330df8eca9b40fa020df3a396ae: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef enum :ref:`iscsi_connection_status` iscsi_connection_status Connection status (up, down or non-existant. Note: it is essential that ISCSI_CONNECTION_DOWN == 0 and ISCSI_CONNECTION_UP == 1, or things will break. Macros ------ .. index:: pair: define; ISCSI_ALL_CONNECTIONS .. _doxid-group__te__tools__te__iscsi_1gaf90692d0cfe43c80f2cb48e6e7c9f562: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define ISCSI_ALL_CONNECTIONS If the parameters is session wide, than this value should be passed to the set parameter function as a cid .. index:: pair: define; ISCSI_DEFAULT_TARGET_NAME .. _doxid-group__te__tools__te__iscsi_1ga5071982aa60958a1d2381c75e0cd5e11: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define ISCSI_DEFAULT_TARGET_NAME List of default parameters, used during initialization of the target_data .. index:: pair: define; ISCSI_SCSI_BLOCKSIZE .. _doxid-group__te__tools__te__iscsi_1ga51ac8e7d10ffd4c7d790f798c3d93df6: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define ISCSI_SCSI_BLOCKSIZE SCSI block size for iSCSI .. index:: pair: define; MAX_TEXT_LEN .. _doxid-group__te__tools__te__iscsi_1ga665349f2a755b80f3e7b93618dba2f56: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define MAX_TEXT_LEN RFC 3720, Section 5.3 Login Phase "The default MaxRecvDataSegmentLength is used during Login." RFC 3720, Section 12.12 MaxRecvDataSegmentLength "Default is 8192 bytes." .. index:: pair: define; OFFER_0 .. _doxid-group__te__tools__te__iscsi_1ga3300c12f61a0ee43b842e80c80a08206: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define OFFER_0 Flags: the following assumption holds: if parameter of the local Initiator structure was untouched than it should not be synchronized with the Initiator. Than the Initiator uses the default parameter and MAY NOT offer the parameter during the negotiations. .. index:: pair: define; SNACK .. _doxid-group__te__tools__te__iscsi_1ga626a3027f9095426ebbd25b93a3008ca: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define SNACK SNACK for Error Recovery