OneCore⢠Storage SDK Release 11.2
User Space iSCSI Target RAMD Driver (Uspace ocs_iscsi_ramd)
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
ocs_common_shared.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011-2015, Emulex
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
*
15
* 3. Neither the name of the copyright holder nor the names of its contributors
16
* may be used to endorse or promote products derived from this software
17
* without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
* POSSIBILITY OF SUCH DAMAGE.
30
*
31
*/
32
33
/**
34
* @file
35
* Common (transport agnostic) shared declarations
36
*
37
*/
38
#if !defined(__OCS_COMMON_SHARED_H__)
39
#define __OCS_COMMON_SHARED_H__
40
41
#define OCS_CTRLMASK_XPORT_DISABLE_AUTORSP_TSEND (1U << 0)
42
#define OCS_CTRLMASK_XPORT_DISABLE_AUTORSP_TRECEIVE (1U << 1)
43
#define OCS_CTRLMASK_XPORT_ENABLE_TARGET_RSCN (1U << 3)
44
#define OCS_CTRLMASK_TGT_ALWAYS_VERIFY_DIF (1U << 4)
45
#define OCS_CTRLMASK_TGT_SET_DIF_REF_TAG_CRC (1U << 5)
46
#define OCS_CTRLMASK_TEST_CHAINED_SGLS (1U << 6)
47
#define OCS_CTRLMASK_ISCSI_ISNS_ENABLE (1U << 7)
48
#define OCS_CTRLMASK_ENABLE_FABRIC_EMULATION (1U << 8)
49
#define OCS_CTRLMASK_INHIBIT_INITIATOR (1U << 9)
50
#define OCS_CTRLMASK_CRASH_RESET (1U << 10)
51
52
#define enable_target_rscn(ocs) ((ocs->ctrlmask & OCS_CTRLMASK_XPORT_ENABLE_TARGET_RSCN) != 0)
53
54
/* Used for error injection testing. */
55
typedef
enum
{
56
NO_ERR_INJECT
= 0,
57
INJECT_DROP_CMD
,
58
INJECT_FREE_DROPPED
,
59
INJECT_DROP_DATA
,
60
INJECT_DROP_RESP
,
61
INJECT_DELAY_CMD
,
62
}
ocs_err_injection_e
;
63
64
#define MAX_OCS_DEVICES 64
65
66
#endif // __OCS_COMMON_SHARED_H__
INJECT_DROP_DATA
Definition:
ocs_common_shared.h:59
INJECT_DROP_RESP
Definition:
ocs_common_shared.h:60
ocs_err_injection_e
ocs_err_injection_e
Definition:
ocs_common_shared.h:55
INJECT_FREE_DROPPED
Definition:
ocs_common_shared.h:58
INJECT_DELAY_CMD
Definition:
ocs_common_shared.h:61
NO_ERR_INJECT
Definition:
ocs_common_shared.h:56
INJECT_DROP_CMD
Definition:
ocs_common_shared.h:57
common
ocs
ocs_common_shared.h