5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at
9 * http://www.opensource.org/licenses/cddl1.txt.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 2004-2012 Emulex. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #ifndef _EMLXS_FCF_H
28 #define _EMLXS_FCF_H
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 #define FCFTAB_MAX_FCFI_COUNT 1
35 #define FCFI_MAX_VFI_COUNT 1
36
37 /* Internal generic events */
38 #define FCF_EVENT_STATE_ENTER 0
39
40 /* External async fabric events */
41 #define FCF_EVENT_SHUTDOWN 1
42 #define FCF_EVENT_LINKUP 2
43 #define FCF_EVENT_LINKDOWN 3
44 #define FCF_EVENT_CVL 4
83 #define FCF_REASON_ONLINE_FAILED 11
84 #define FCF_REASON_OFFLINE_FAILED 12
85 #define FCF_REASON_OP_FAILED 13 /* attempts */
86 #define FCF_REASON_NO_PKT 14
87 #define FCF_REASON_NO_NODE 15
88 #define FCF_REASON_NOT_ALLOWED 16
89 #define FCF_REASON_UNUSED 17
90 #define FCF_REASON_INVALID 18
91
92 typedef struct XRIobj
93 {
94 struct XRIobj *_f;
95 struct XRIobj *_b;
96 uint16_t XRI;
97 uint16_t state;
98 #define XRI_STATE_FREE 0
99 #define XRI_STATE_ALLOCATED 1
100
101 uint16_t sge_count;
102 uint16_t iotag;
103 MBUF_INFO SGList;
104 struct RPIobj *rpip;
105 struct RPIobj *reserved_rpip;
106 emlxs_buf_t *sbp;
107 uint32_t rx_id; /* Used for unsol exchanges */
108 uint32_t flag;
109 #define EMLXS_XRI_RESERVED 0x00000001
110 #define EMLXS_XRI_PENDING_IO 0x00000002
111 #define EMLXS_XRI_BUSY 0x00000004
112
113 uint32_t type;
114 #define EMLXS_XRI_SOL_FCP_TYPE 1
115 #define EMLXS_XRI_UNSOL_FCP_TYPE 2
116 #define EMLXS_XRI_SOL_CT_TYPE 3
117 #define EMLXS_XRI_UNSOL_CT_TYPE 4
118 #define EMLXS_XRI_SOL_ELS_TYPE 5
119 #define EMLXS_XRI_UNSOL_ELS_TYPE 6
120 #define EMLXS_XRI_SOL_BLS_TYPE 7
121
122 } XRIobj_t;
123
|
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at
9 * http://www.opensource.org/licenses/cddl1.txt.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 2004-2012 Emulex. All rights reserved.
24 * Use is subject to license terms.
25 * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
26 */
27
28 #ifndef _EMLXS_FCF_H
29 #define _EMLXS_FCF_H
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 #define FCFTAB_MAX_FCFI_COUNT 1
36 #define FCFI_MAX_VFI_COUNT 1
37
38 /* Internal generic events */
39 #define FCF_EVENT_STATE_ENTER 0
40
41 /* External async fabric events */
42 #define FCF_EVENT_SHUTDOWN 1
43 #define FCF_EVENT_LINKUP 2
44 #define FCF_EVENT_LINKDOWN 3
45 #define FCF_EVENT_CVL 4
84 #define FCF_REASON_ONLINE_FAILED 11
85 #define FCF_REASON_OFFLINE_FAILED 12
86 #define FCF_REASON_OP_FAILED 13 /* attempts */
87 #define FCF_REASON_NO_PKT 14
88 #define FCF_REASON_NO_NODE 15
89 #define FCF_REASON_NOT_ALLOWED 16
90 #define FCF_REASON_UNUSED 17
91 #define FCF_REASON_INVALID 18
92
93 typedef struct XRIobj
94 {
95 struct XRIobj *_f;
96 struct XRIobj *_b;
97 uint16_t XRI;
98 uint16_t state;
99 #define XRI_STATE_FREE 0
100 #define XRI_STATE_ALLOCATED 1
101
102 uint16_t sge_count;
103 uint16_t iotag;
104 MATCHMAP *SGList;
105 uint32_t SGSeg;
106 struct RPIobj *rpip;
107 struct RPIobj *reserved_rpip;
108 emlxs_buf_t *sbp;
109 uint32_t rx_id; /* Used for unsol exchanges */
110 uint32_t flag;
111 #define EMLXS_XRI_RESERVED 0x00000001
112 #define EMLXS_XRI_PENDING_IO 0x00000002
113 #define EMLXS_XRI_BUSY 0x00000004
114
115 uint32_t type;
116 #define EMLXS_XRI_SOL_FCP_TYPE 1
117 #define EMLXS_XRI_UNSOL_FCP_TYPE 2
118 #define EMLXS_XRI_SOL_CT_TYPE 3
119 #define EMLXS_XRI_UNSOL_CT_TYPE 4
120 #define EMLXS_XRI_SOL_ELS_TYPE 5
121 #define EMLXS_XRI_UNSOL_ELS_TYPE 6
122 #define EMLXS_XRI_SOL_BLS_TYPE 7
123
124 } XRIobj_t;
125
|