1fcf3ce44SJohn Forte /* 2fcf3ce44SJohn Forte * CDDL HEADER START 3fcf3ce44SJohn Forte * 4fcf3ce44SJohn Forte * The contents of this file are subject to the terms of the 5fcf3ce44SJohn Forte * Common Development and Distribution License (the "License"). 6fcf3ce44SJohn Forte * You may not use this file except in compliance with the License. 7fcf3ce44SJohn Forte * 8fcf3ce44SJohn Forte * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9fcf3ce44SJohn Forte * or http://www.opensolaris.org/os/licensing. 10fcf3ce44SJohn Forte * See the License for the specific language governing permissions 11fcf3ce44SJohn Forte * and limitations under the License. 12fcf3ce44SJohn Forte * 13fcf3ce44SJohn Forte * When distributing Covered Code, include this CDDL HEADER in each 14fcf3ce44SJohn Forte * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15fcf3ce44SJohn Forte * If applicable, add the following below this CDDL HEADER, with the 16fcf3ce44SJohn Forte * fields enclosed by brackets "[]" replaced with your own identifying 17fcf3ce44SJohn Forte * information: Portions Copyright [yyyy] [name of copyright owner] 18fcf3ce44SJohn Forte * 19fcf3ce44SJohn Forte * CDDL HEADER END 20fcf3ce44SJohn Forte */ 21fcf3ce44SJohn Forte /* 22*7ff83669SZhong Wang * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23fcf3ce44SJohn Forte * Use is subject to license terms. 24fcf3ce44SJohn Forte */ 25fcf3ce44SJohn Forte 26fcf3ce44SJohn Forte #ifndef _SYS_FIBRE_CHANNEL_IMPL_FCGS2_H 27fcf3ce44SJohn Forte #define _SYS_FIBRE_CHANNEL_IMPL_FCGS2_H 28fcf3ce44SJohn Forte 29fcf3ce44SJohn Forte 30fcf3ce44SJohn Forte #include <sys/note.h> 31fcf3ce44SJohn Forte 32fcf3ce44SJohn Forte #ifdef __cplusplus 33fcf3ce44SJohn Forte extern "C" { 34fcf3ce44SJohn Forte #endif 35fcf3ce44SJohn Forte 36fcf3ce44SJohn Forte /* 37fcf3ce44SJohn Forte * A device handle describes the characterics of a device 38fcf3ce44SJohn Forte * Node. Each device handle also contains information 39fcf3ce44SJohn Forte * on the serveral different ports it is discovered on. 40fcf3ce44SJohn Forte * 41fcf3ce44SJohn Forte * Classification of Name Server Objects 42fcf3ce44SJohn Forte * 43fcf3ce44SJohn Forte * +-----------------------------------+---------------------------+ 44fcf3ce44SJohn Forte * | Device (node) Specific | Port Specific | 45fcf3ce44SJohn Forte * +-----------------------------------+---------------------------+ 46fcf3ce44SJohn Forte * | Node Name (NN) | Port type (PT) | 47fcf3ce44SJohn Forte * | Symbolic Node Name Length | Port Id (ID) | 48fcf3ce44SJohn Forte * | Symbloic Node Name(SNN) | Symbolic Port Name length | 49fcf3ce44SJohn Forte * | Initial Process associator(IPA) | Symbolic Port Name (SPN) | 50fcf3ce44SJohn Forte * | | Class of Service (CS) | 51fcf3ce44SJohn Forte * | | fc4 types (FT) | 52fcf3ce44SJohn Forte * | | IP Address (IP) | 53fcf3ce44SJohn Forte * +-----------------------------------+---------------------------+ 54fcf3ce44SJohn Forte * 55fcf3ce44SJohn Forte * The above classification causes some inconvenience in not having 56fcf3ce44SJohn Forte * the ability to directly copy all the nameserver objects into a 57fcf3ce44SJohn Forte * contiguous piece of memory. But we'll live with it. 58fcf3ce44SJohn Forte */ 59fcf3ce44SJohn Forte 60fcf3ce44SJohn Forte #define CT_REV 0x01 /* Common Transport revision */ 61fcf3ce44SJohn Forte 62fcf3ce44SJohn Forte /* FCS types */ 63fcf3ce44SJohn Forte #define FCSTYPE_KEYSERVICE 0xF7 64fcf3ce44SJohn Forte #define FCSTYPE_ALIAS 0xF8 65fcf3ce44SJohn Forte #define FCSTYPE_MGMTSERVICE 0xFA 66fcf3ce44SJohn Forte #define FCSTYPE_TIMESERVICE 0xFB 67fcf3ce44SJohn Forte #define FCSTYPE_DIRECTORY 0xFC 68fcf3ce44SJohn Forte #define FCSTYEP_FABRIC 0xFD 69fcf3ce44SJohn Forte 70fcf3ce44SJohn Forte /* 71fcf3ce44SJohn Forte * FCS subtypes for Directory Service 72fcf3ce44SJohn Forte */ 73fcf3ce44SJohn Forte #define FCSSUB_DS_NAME_SERVER 0x02 /* Zoned Name Server */ 74fcf3ce44SJohn Forte #define FCSSUB_DS_IPADDR_SERVER 0x03 /* IP Address Server */ 75fcf3ce44SJohn Forte 76fcf3ce44SJohn Forte /* 77fcf3ce44SJohn Forte * FCS subtypes for Management Service 78fcf3ce44SJohn Forte */ 79fcf3ce44SJohn Forte #define FCSSUB_MS_CONFIG_SERVER 0x01 /* Fabric Config Server */ 80fcf3ce44SJohn Forte #define FCSSUB_MS_UNZONED_NAME_SERVER 0x02 /* Unzoned Name Server */ 81fcf3ce44SJohn Forte #define FCSSUB_MS_ZONE_SERVER 0x03 /* Fabric Zone Server */ 82fcf3ce44SJohn Forte 83fcf3ce44SJohn Forte /* 84fcf3ce44SJohn Forte * FCS subtypes for Time Service 85fcf3ce44SJohn Forte */ 86fcf3ce44SJohn Forte #define FCSSUB_TS_TIME_SERVER 0x01 /* Time Server */ 87fcf3ce44SJohn Forte 88fcf3ce44SJohn Forte /* 89fcf3ce44SJohn Forte * FCS subtypes for Alias Service 90fcf3ce44SJohn Forte */ 91fcf3ce44SJohn Forte #define FCSSUB_AS_ALIAS_SERVER 0x01 /* Alias Server */ 92fcf3ce44SJohn Forte 93fcf3ce44SJohn Forte /* 94fcf3ce44SJohn Forte * FCS subtypes for Key Service 95fcf3ce44SJohn Forte */ 96fcf3ce44SJohn Forte #define FCSSUB_KS_KEY_SERVER 0x00 /* Key Distribution Server */ 97fcf3ce44SJohn Forte 98fcf3ce44SJohn Forte /* FC-CT response codes */ 99fcf3ce44SJohn Forte #define FS_RJT_IU 0x8001 100fcf3ce44SJohn Forte #define FS_ACC_IU 0x8002 101fcf3ce44SJohn Forte 102fcf3ce44SJohn Forte /* FS_RJT Reason Codes */ 103fcf3ce44SJohn Forte #define FSRJT_BADCMD 0x01 /* Invalid command code */ 104fcf3ce44SJohn Forte #define FSRJT_BADVER 0x02 /* Invalid version level */ 105fcf3ce44SJohn Forte #define FSRJT_LOGICALERR 0x03 /* Logical error */ 106fcf3ce44SJohn Forte #define FSRJT_BADSIZE 0x04 /* Invalid IU size */ 107fcf3ce44SJohn Forte #define FSRJT_BUSY 0x05 /* Logical busy */ 108fcf3ce44SJohn Forte #define FSRJT_PROTOCOLERR 0x07 /* Protocol error */ 109fcf3ce44SJohn Forte #define FSRJT_CMDFAILED 0x08 /* Unable to perform command */ 110fcf3ce44SJohn Forte #define FSRJT_UNSUPP 0x0b /* Command not supported */ 111fcf3ce44SJohn Forte #define FSRJT_VENDOR 0xff /* vendor unique error */ 112fcf3ce44SJohn Forte 113fcf3ce44SJohn Forte /* Name Service Command Codes */ 114fcf3ce44SJohn Forte #define NS_GA_NXT 0x0100 /* Get All next */ 115fcf3ce44SJohn Forte #define NS_GPN_ID 0x0112 /* Get Port Name */ 116fcf3ce44SJohn Forte #define NS_GNN_ID 0x0113 /* Get Node Name */ 117fcf3ce44SJohn Forte #define NS_GCS_ID 0x0114 /* Get Class Of service */ 118fcf3ce44SJohn Forte #define NS_GFT_ID 0x0117 /* Get FC-4 Types */ 119fcf3ce44SJohn Forte #define NS_GSPN_ID 0x0118 /* Get Sym Port name */ 120fcf3ce44SJohn Forte #define NS_GPT_ID 0x011A /* Get Port Type */ 121fcf3ce44SJohn Forte #define NS_GID_PN 0x0121 /* Get port id for PN */ 122fcf3ce44SJohn Forte #define NS_GID_NN 0x0131 /* Get port id for NN */ 123fcf3ce44SJohn Forte #define NS_GIP_NN 0x0135 /* Get IP address */ 124fcf3ce44SJohn Forte #define NS_GIPA_NN 0x0136 /* Get I.P.A */ 125fcf3ce44SJohn Forte #define NS_GSNN_NN 0x0139 /* Get Sym Node name */ 126fcf3ce44SJohn Forte #define NS_GNN_IP 0x0153 /* Get Node name for IP */ 127fcf3ce44SJohn Forte #define NS_GIPA_IP 0x0156 /* Get I.P.A for IP */ 128fcf3ce44SJohn Forte #define NS_GID_FT 0x0171 /* Get port Id for FC-4 type */ 129fcf3ce44SJohn Forte #define NS_GID_PT 0x01A1 /* Get port Id for type */ 130fcf3ce44SJohn Forte #define NS_RPN_ID 0x0212 /* Reg port name */ 131fcf3ce44SJohn Forte #define NS_RNN_ID 0x0213 /* Reg node name */ 132fcf3ce44SJohn Forte #define NS_RCS_ID 0x0214 /* Reg C.O.S */ 133fcf3ce44SJohn Forte #define NS_RFT_ID 0x0217 /* Reg FC-4 Types */ 134fcf3ce44SJohn Forte #define NS_RSPN_ID 0x0218 /* Reg Sym Port name */ 135fcf3ce44SJohn Forte #define NS_RPT_ID 0x021A /* Reg Port Type */ 136fcf3ce44SJohn Forte #define NS_RIP_NN 0x0235 /* Reg I.P address */ 137fcf3ce44SJohn Forte #define NS_RIPA_NN 0x0236 /* Reg I.P.A */ 138fcf3ce44SJohn Forte #define NS_RSNN_NN 0x0239 /* Reg Sym Node name */ 139fcf3ce44SJohn Forte #define NS_DA_ID 0x0300 /* De-Register all */ 140fcf3ce44SJohn Forte 141fcf3ce44SJohn Forte /* Name service reject explanation codes */ 142fcf3ce44SJohn Forte #define NSRJTX_NONE 0x00 /* No additional explanation */ 143fcf3ce44SJohn Forte #define NSRJTX_PORTNOTREG 0x01 /* Port ID not registered */ 144fcf3ce44SJohn Forte #define NSRJTX_PWWNNOTREG 0x02 /* Port Name not registered */ 145fcf3ce44SJohn Forte #define NSRJTX_NWWNNOTREG 0x03 /* Node Name not registered */ 146fcf3ce44SJohn Forte #define NSRJTX_CoSNOTREG 0x04 /* Class of Service no registered */ 147fcf3ce44SJohn Forte #define NSRJTX_IPNOTREG 0x05 /* IP Address not registered */ 148fcf3ce44SJohn Forte #define NSRJTX_IPANOTREG 0x06 /* Initial Proc. Assoc not reg. */ 149fcf3ce44SJohn Forte #define NSRJTX_FC4NOTREG 0x07 /* FC$ types not registered */ 150fcf3ce44SJohn Forte #define NSRJTX_SPNNOTREG 0x08 /* Symbolic port name not registered */ 151fcf3ce44SJohn Forte #define NSRJTX_SNNNOTREG 0x09 /* Symbolic node name not registered */ 152fcf3ce44SJohn Forte #define NSRJTX_TYPENOTREG 0x0a /* Port type not registered */ 153fcf3ce44SJohn Forte #define NSRJTX_NOPERM 0x10 /* Access denied */ 154fcf3ce44SJohn Forte #define NSRJTX_BADPORTID 0x11 /* Unacceptable port ID */ 155fcf3ce44SJohn Forte #define NSRJTX_DBEMPTY 0x12 /* Data base empty */ 156fcf3ce44SJohn Forte 157*7ff83669SZhong Wang /* Management Service Command Codes */ 158*7ff83669SZhong Wang #define MS_GIEL 0x0101 /* Get Interconnect Element List */ 159*7ff83669SZhong Wang 160fcf3ce44SJohn Forte #define FC_NS_CLASSF 0x01 161fcf3ce44SJohn Forte #define FC_NS_CLASS1 0x02 162fcf3ce44SJohn Forte #define FC_NS_CLASS2 0x04 163fcf3ce44SJohn Forte #define FC_NS_CLASS3 0x08 164fcf3ce44SJohn Forte #define FC_NS_CLASS4 0x10 165fcf3ce44SJohn Forte #define FC_NS_CLASS5 0x20 166fcf3ce44SJohn Forte #define FC_NS_CLASS6 0x40 167fcf3ce44SJohn Forte 168fcf3ce44SJohn Forte #define FC_NS_PORT_UNKNOWN 0x00 169fcf3ce44SJohn Forte #define FC_NS_PORT_N 0x01 170fcf3ce44SJohn Forte #define FC_NS_PORT_NL 0x02 171fcf3ce44SJohn Forte #define FC_NS_PORT_F_NL 0x03 172fcf3ce44SJohn Forte #define FC_NS_PORT_NX 0x7F 173fcf3ce44SJohn Forte #define FC_NS_PORT_F 0x81 174fcf3ce44SJohn Forte #define FC_NS_PORT_FL 0x82 175fcf3ce44SJohn Forte #define FC_NS_PORT_E 0x84 176fcf3ce44SJohn Forte 177fcf3ce44SJohn Forte #define FC_IS_CMD_A_QUERY(cmd) ((cmd) >= NS_GA_NXT && (cmd) <= NS_GID_PT) 178fcf3ce44SJohn Forte #define FC_IS_CMD_A_REG(cmd) ((cmd) >= NS_RPN_ID && (cmd) <= NS_DA_ID) 179fcf3ce44SJohn Forte #define NS_GAN_RESP_LEN (sizeof (ns_resp_gan_t)) 180fcf3ce44SJohn Forte 181fcf3ce44SJohn Forte /* 182fcf3ce44SJohn Forte * SCR registration function codes 183fcf3ce44SJohn Forte */ 184fcf3ce44SJohn Forte #define FC_SCR_FABRIC_REGISTRATION 0x01 185fcf3ce44SJohn Forte #define FC_SCR_NPORT_REGISTRATION 0x02 186fcf3ce44SJohn Forte #define FC_SCR_FULL_REGISTRATION 0x03 187fcf3ce44SJohn Forte #define FC_SCR_CLEAR_REGISTRATION 0xFF 188fcf3ce44SJohn Forte 189fcf3ce44SJohn Forte /* 190fcf3ce44SJohn Forte * Register port/node name request payload 191fcf3ce44SJohn Forte * 192fcf3ce44SJohn Forte * 'x' means either P (port) or N (node) 193fcf3ce44SJohn Forte */ 194fcf3ce44SJohn Forte typedef struct rxn_id { 195fcf3ce44SJohn Forte fc_portid_t rxn_port_id; /* Port Identfier */ 196fcf3ce44SJohn Forte la_wwn_t rxn_xname; /* Port/Node Name */ 197fcf3ce44SJohn Forte } ns_rxn_req_t; 198fcf3ce44SJohn Forte 199fcf3ce44SJohn Forte /* 200fcf3ce44SJohn Forte * Register Class of service request payload 201fcf3ce44SJohn Forte */ 202fcf3ce44SJohn Forte typedef struct rcos { 203fcf3ce44SJohn Forte fc_portid_t rcos_port_id; 204fcf3ce44SJohn Forte uint32_t rcos_cos; 205fcf3ce44SJohn Forte } ns_rcos_t; 206fcf3ce44SJohn Forte 207fcf3ce44SJohn Forte /* 208fcf3ce44SJohn Forte * Register FC-4 TYPEs request payload 209fcf3ce44SJohn Forte */ 210fcf3ce44SJohn Forte typedef struct rfc_type { 211fcf3ce44SJohn Forte fc_portid_t rfc_port_id; 212fcf3ce44SJohn Forte uchar_t rfc_types[32]; /* bit map of ULP types */ 213fcf3ce44SJohn Forte } ns_rfc_type_t; 214fcf3ce44SJohn Forte 215fcf3ce44SJohn Forte /* 216fcf3ce44SJohn Forte * Register symbolic port name request payload 217fcf3ce44SJohn Forte */ 218fcf3ce44SJohn Forte typedef struct spn { 219fcf3ce44SJohn Forte fc_portid_t spn_port_id; 220fcf3ce44SJohn Forte uchar_t spn_len; 221fcf3ce44SJohn Forte /* 222fcf3ce44SJohn Forte * What follows here is the actual name 223fcf3ce44SJohn Forte * which is allocated on the fly during 224fcf3ce44SJohn Forte * packet allocation. 225fcf3ce44SJohn Forte */ 226fcf3ce44SJohn Forte } ns_spn_t; 227fcf3ce44SJohn Forte 228fcf3ce44SJohn Forte /* 229fcf3ce44SJohn Forte * Register port type request payload 230fcf3ce44SJohn Forte */ 231fcf3ce44SJohn Forte typedef struct rpt { 232fcf3ce44SJohn Forte fc_portid_t rpt_port_id; 233fcf3ce44SJohn Forte fc_porttype_t rpt_type; 234fcf3ce44SJohn Forte } ns_rpt_t; 235fcf3ce44SJohn Forte 236fcf3ce44SJohn Forte /* 237fcf3ce44SJohn Forte * Register IP address request payload 238fcf3ce44SJohn Forte */ 239fcf3ce44SJohn Forte typedef struct rip { 240fcf3ce44SJohn Forte la_wwn_t rip_node_name; 241fcf3ce44SJohn Forte uchar_t rip_ip_addr[16]; 242fcf3ce44SJohn Forte } ns_rip_t; 243fcf3ce44SJohn Forte 244fcf3ce44SJohn Forte /* 245fcf3ce44SJohn Forte * Register Initial Process Associator request payload 246fcf3ce44SJohn Forte */ 247fcf3ce44SJohn Forte typedef struct ipa { 248fcf3ce44SJohn Forte la_wwn_t ipa_node_name; 249fcf3ce44SJohn Forte uchar_t ipa_value[8]; 250fcf3ce44SJohn Forte } ns_ipa_t; 251fcf3ce44SJohn Forte 252fcf3ce44SJohn Forte /* 253fcf3ce44SJohn Forte * Register Symbolic Node Name request payload 254fcf3ce44SJohn Forte */ 255fcf3ce44SJohn Forte typedef struct snn { 256fcf3ce44SJohn Forte la_wwn_t snn_node_name; 257fcf3ce44SJohn Forte uchar_t snn_len; 258fcf3ce44SJohn Forte /* 259fcf3ce44SJohn Forte * What follows here is the actual name 260fcf3ce44SJohn Forte * which is allocated on the fly during 261fcf3ce44SJohn Forte * packet allocation. 262fcf3ce44SJohn Forte */ 263fcf3ce44SJohn Forte } ns_snn_t; 264fcf3ce44SJohn Forte 265fcf3ce44SJohn Forte /* 266fcf3ce44SJohn Forte * Remove all request payload 267fcf3ce44SJohn Forte */ 268fcf3ce44SJohn Forte typedef struct remall { 269fcf3ce44SJohn Forte fc_portid_t rem_port_id; 270fcf3ce44SJohn Forte } ns_remall_t; 271fcf3ce44SJohn Forte 272fcf3ce44SJohn Forte typedef fc_ct_header_t fc_reg_resp_t; 273fcf3ce44SJohn Forte typedef fc_ct_header_t fc_query_resp_t; 274fcf3ce44SJohn Forte 275fcf3ce44SJohn Forte typedef struct ns_req_gid_pt { 276fcf3ce44SJohn Forte fc_porttype_t port_type; 277fcf3ce44SJohn Forte } ns_req_gid_pt_t; 278fcf3ce44SJohn Forte 279fcf3ce44SJohn Forte typedef struct ns_resp_gid_pt { 280fcf3ce44SJohn Forte fc_portid_t gid_port_id; 281fcf3ce44SJohn Forte } ns_resp_gid_pt_t; 282fcf3ce44SJohn Forte 283fcf3ce44SJohn Forte typedef struct ns_req_gan { 284fcf3ce44SJohn Forte fc_portid_t pid; 285fcf3ce44SJohn Forte } ns_req_gan_t; 286fcf3ce44SJohn Forte 287fcf3ce44SJohn Forte typedef struct ns_resp_gan { 288fcf3ce44SJohn Forte fc_porttype_t gan_type_id; /* type and id next */ 289fcf3ce44SJohn Forte la_wwn_t gan_pwwn; /* Port Name */ 290fcf3ce44SJohn Forte uchar_t gan_spnlen; /* Sym P Name Len */ 291fcf3ce44SJohn Forte char gan_spname[255]; /* Sym Port name */ 292fcf3ce44SJohn Forte 293fcf3ce44SJohn Forte la_wwn_t gan_nwwn; /* Node Name */ 294fcf3ce44SJohn Forte uchar_t gan_snnlen; /* Sym N name Len */ 295fcf3ce44SJohn Forte char gan_snname[255]; /* Sym Node name */ 296fcf3ce44SJohn Forte 297fcf3ce44SJohn Forte uchar_t gan_ipa[8]; /* Initial Proc assoc */ 298fcf3ce44SJohn Forte uchar_t gan_ip[16]; /* IP Address */ 299fcf3ce44SJohn Forte uint32_t gan_cos; /* Class of Service */ 300fcf3ce44SJohn Forte 301fcf3ce44SJohn Forte uint32_t gan_fc4types[8]; /* FC-4 Types */ 302fcf3ce44SJohn Forte } ns_resp_gan_t; 303fcf3ce44SJohn Forte 304fcf3ce44SJohn Forte typedef struct ns_req_gid_pn { 305fcf3ce44SJohn Forte la_wwn_t pwwn; 306fcf3ce44SJohn Forte } ns_req_gid_pn_t; 307fcf3ce44SJohn Forte 308fcf3ce44SJohn Forte typedef struct ns_resp_gid_pn { 309fcf3ce44SJohn Forte fc_portid_t pid; 310fcf3ce44SJohn Forte } ns_resp_gid_pn_t; 311fcf3ce44SJohn Forte 312fcf3ce44SJohn Forte typedef struct ns_req_gpn_id { 313fcf3ce44SJohn Forte fc_portid_t pid; 314fcf3ce44SJohn Forte } ns_req_gpn_id_t; 315fcf3ce44SJohn Forte 316fcf3ce44SJohn Forte typedef struct ns_resp_gpn_id { 317fcf3ce44SJohn Forte la_wwn_t pwwn; 318fcf3ce44SJohn Forte } ns_resp_gpn_id_t; 319fcf3ce44SJohn Forte 320fcf3ce44SJohn Forte typedef struct ns_req_gpt_id { 321fcf3ce44SJohn Forte fc_portid_t pid; 322fcf3ce44SJohn Forte } ns_req_gpt_id_t; 323fcf3ce44SJohn Forte 324fcf3ce44SJohn Forte typedef struct ns_resp_gpt_id { 325fcf3ce44SJohn Forte fc_porttype_t port_type; 326fcf3ce44SJohn Forte } ns_resp_gpt_id_t; 327fcf3ce44SJohn Forte 328fcf3ce44SJohn Forte #if !defined(__lint) 329fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_resp_gpn_id)) 330fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", rxn_id)) 331fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_req_gpn_id)) 332fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_resp_gid_pn)) 333fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_req_gid_pn)) 334fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_resp_gan)) 335fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_req_gan)) 336fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_req_gid_pt)) 337fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_req_gpt_id)) 338fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ns_resp_gpt_id)) 339fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", remall)) 340fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", snn)) 341fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", ipa)) 342fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", rip)) 343fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", rpt)) 344fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", spn)) 345fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", rfc_type)) 346fcf3ce44SJohn Forte _NOTE(SCHEME_PROTECTS_DATA("unique per request", rcos)) 347fcf3ce44SJohn Forte #endif /* __lint */ 348fcf3ce44SJohn Forte 349fcf3ce44SJohn Forte #ifdef __cplusplus 350fcf3ce44SJohn Forte } 351fcf3ce44SJohn Forte #endif 352fcf3ce44SJohn Forte 353fcf3ce44SJohn Forte #endif /* _SYS_FIBRE_CHANNEL_IMPL_FCGS2_H */ 354