/* $NetBSD: isns_defs.h,v 1.1.1.1 2011/01/16 01:22:50 agc Exp $ */ /*- * Copyright (c) 2004,2009 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Wasabi Systems, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef _ISNS_DEFS_H_ #define _ISNS_DEFS_H_ /* * enum of iSNS Registration, query, and response types */ typedef enum { isnsp_DevAttrReg = 1, isnsp_DevAttrQry, isnsp_DevGetNext, isnsp_DevDereg, isnsp_SCNReg, isnsp_SCNDereg, isnsp_SCNEvent, isnsp_SCN, isnsp_DDReg, isnsp_DDDereg, isnsp_DDSReg, isnsp_DDSDereg, isnsp_ESI, isnsp_Heartbeat, /* 0x000e */ /* Next few are iFCP only */ isnsp_RqstDomId = 0x0011, isnsp_RlseDomId, isnsp_GetDomId, isnsp_DevAttrRegRsp = 0x8001, isnsp_DevAttrQryRsp, isnsp_DevGetNextRsp, isnsp_DevDeregRsp, isnsp_SCNregRsp, isnsp_SCNDeregRsp, isnsp_SCNeventRsp, isnsp_SCNRsp, isnsp_DDRegRsp, isnsp_DDDeregRsp, isnsp_DDSRegRsp, isnsp_DDSDeregRsp, isnsp_ESIRsp, /* 0x800d */ /* Next few are iFCP only */ isnsp_RqstDomIdRsp = 0x8011, isnsp_RlseDomIdRsp, isnsp_GetDomIdRsp } isnsp_func_id_t; /* * enum of iSNS tag types */ typedef enum { /* Len Reg Key Query Key Val */ isnst_Delimiter = 0, /* 0 N/A N/A 0 */ isnst_EID, /* 4-256 1 1|2|16&17|32|64 1 */ isnst_EntProtocol, /* 4 1 1|2|16&17|32|64 2 */ isnst_MgtIPAddr, /* 16 1 1|2|16&17|32|64 3 */ isnst_Timestamp, /* 8 -- 1|2|16&17|32|64 4 */ isnst_ProtVersRange, /* 4 1 1|2|16&17|32|64 5 */ isnst_RegPeriod, /* 4 1 1|2|16&17|32|64 6 */ isnst_EntityIndex, /* 4 1 1|2|16&17|32|64 7 */ isnst_EntityNextIndex, /* 8 1 1|2|16&17|32|64 8 */ /* */ isnst_EntISAKMP_P1= 11, /* var 1 1|2|16&17|32|64 11 */ isnst_Certificate, /* var 1 1|2|16&17|32|64 12 */ /* */ isnst_PortalIPAddr= 16, /* 16 1 1|2|16&17|32|64 16 */ isnst_PortalPort, /* 4 1 1|2|16&17|32|64 17 */ isnst_SymbName, /* 4-256 16&17 1|16&17|32|64 18 */ isnst_ESIIntval, /* 4 16&17 1|16&17|32|64 19 */ isnst_ESIPort, /* 4 16&17 1|16&17|32|64 20 */ /* */ isnst_PortalIndex=22, /* 4 16&17 1|16&17|32|64 22 */ isnst_SCNPort, /* 4 16&17 1|16&17|32|64 23 */ isnst_PortalNextIndex, /* 4 -- 1|16&17|32|64 24 */ /* */ isnst_PortalSecBmap=27, /* 4 16&17 1|16&17|32|64 27 */ isnst_PortalISAKMP_P1, /* var 16&17 1|16&17|32|64 28 */ isnst_PortalISAKMP_P2, /* var 16&17 1|16&17|32|64 29 */ /* */ isnst_PortalCert = 31, /* var 16&17 1|16&17|32|64 31 */ isnst_iSCSIName, /* 4-224 1 1|16&17|32|33 32 */ isnst_iSCSINodeType, /* 4 32 1|16&17|32 33 */ isnst_iSCSIAlias, /* 4-256 32 1|16&17|32 34 */ isnst_iSCSISCNBmap, /* 4 32 1|16&17|32 35 */ isnst_iSCSINodeIndex, /* 4 32 1|16&17|32 36 */ isnst_WWNNToken, /* 8 32 1|16&17|32 37 */ isnst_iSCSINodeNextIdx, /* 4 -- 1|16&17|32 38 */ /* */ isnst_iSCSIAuthMethod=42,/* var 32 1|16&17|32 42 */ isnst_iSCSINodeCert, /* var 32 1|16&17|32 43 */ /* */ isnst_PGiSCSIName=48, /* 4-224 32|16&17 1|16&17|32|52 48 */ isnst_PGPortIPAddr, /* 16 32|16&17 1|16&17|32|52 49 */ isnst_PGPortIPPort, /* 4 32|16&17 1|16&17|32|52 50 */ isnst_PGTag, /* 4 32|16&17 1|16&17|32|52 51 */ isnst_PGIndex, /* 4 32|16&17 1|16&17|32|52 52 */ isnst_PGNextIndex, /* 4 -- 1|16&17|32|52 53 */ /* */ isnst_FCPortNameWWPN=64,/* 8 1 1|16&17|64|66|96|128 64 */ isnst_FCPortID, /* 4 64 1|16&17|64 65 */ isnst_FCPortType, /* 4 64 1|16&17|64 66 */ isnst_FCSymbPortName, /* 4-256 64 1|16&17|64 67 */ isnst_FCFabricPortName, /* 8 64 1|16&17|64 68 */ isnst_FCHardAddr, /* 4 64 1|16&17|64 69 */ isnst_FCPortIPAddr, /* 16 64 1|16&17|64 70 */ isnst_FCClassOService, /* 4 64 1|16&17|64 71 */ isnst_FC4Types, /* 32 64 1|16&17|64 72 */ isnst_FC4Descr, /* 4-256 64 1|16&17|64 73 */ isnst_FC4Features, /* 128 64 1|16&17|64 74 */ isnst_iFCPSCNBmap, /* 4 64 1|16&17|64 75 */ isnst_iFCPPortRole, /* 4 64 1|16&17|64 76 */ isnst_PermPortName, /* 8 -- 1|16&17|64 77 */ /* */ isnst_PortCert = 83, /* var 64 1|16&17|64 83 */ /* */ isnst_FC4TypeCode = 95, /* 4 -- 1|16&17|64 95 */ isnst_FCNodeNameWWNN, /* 8 64 1|16&17|64|96 96 */ isnst_SymbNodeName, /* 4-256 96 64|96 97 */ isnst_NodeIPAddr, /* 16 96 64|96 98 */ isnst_NodeIPA, /* 8 96 64|96 99 */ isnst_NodeCert, /* var 96 64|96 100 */ isnst_ProxyiSCSIName, /* 4-256 96 64|96 101 */ /* Note: above really should be 4-224 * in the iSNS spec, but isn't */ /* */ isnst_SwitchName = 128, /* 8 128 128 128 */ isnst_PrefID, /* 4 128 128 129 */ isnst_AssignedID, /* 4 128 128 130 */ isnst_VirtFabricID, /* 4-256 128 128 131 */ /* */ isnst_iSNSSrvrVndOUI=256,/* 4 -- SOURCE Attr 256 */ /* */ isnst_DDS_ID=2049, /* 4 2049 1|32|64|2049|2065 2049 */ isnst_DDS_SymName, /* 4-256 2049 2049 2050 */ isnst_DDS_Status, /* 4 2049 2049 2051 */ isnst_DDS_Next_ID, /* 4 -- 2049 2052 */ /* */ isnst_DD_ID = 2065, /* 4 2049 1|32|64|2049|2065 2065 */ isnst_DD_SymName, /* 4-256 2065 2065 2066 */ isnst_DD_iSCSIIndex, /* 4 2065 2065 2067 */ isnst_DD_iSCSIName, /* 4-224 2065 2065 2068 */ isnst_DD_iFCPNode, /* 8 2065 2065 2069 */ isnst_DD_PortIndex, /* 4 2065 2065 2070 */ isnst_DD_PortIPAddr, /* 16 2065 2065 2071 */ isnst_DD_PortPort, /* 4 2065 2065 2072 */ isnst_DD_Features=2078, /* 4 2065 2065 2078 */ isnst_DD_Next_ID /* 4 -- 2065 2079 */ } isnst_tag_type_t; /* * iSNS PDU header flags */ #define ISNS_FLAG_FIRST_PDU (0x0400) #define ISNS_FLAG_LAST_PDU (0x0800) #define ISNS_FLAG_REPLACE_REG (0x1000) #define ISNS_FLAG_AUTH (0x2000) #define ISNS_FLAG_SND_SERVER (0x4000) #define ISNS_FLAG_SND_CLIENT (0x8000) #endif /* _ISNS_DEFS_H_ */