Rename "proto_alloc_dfilter_string()" to
[obnox/wireshark/wip.git] / packet-fcfcs.h
1 /* packet-fcfcs.h
2  *
3  * $Id: packet-fcfcs.h,v 1.2 2003/03/06 21:55:26 guy Exp $
4  *
5  * Ethereal - Network traffic analyzer
6  * By Gerald Combs <gerald@ethereal.com>
7  * Copyright 1998 Gerald Combs
8  * 
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * as published by the Free Software Foundation; either version 2
12  * of the License, or (at your option) any later version.
13  * 
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  * 
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22  */
23
24 #ifndef __PACKET_FCFCS_H_
25 #define __PACKET_FCFCS_H_
26
27 #define FCFCS_GTIN       0x100
28 #define FCFCS_GIEL       0x101
29 #define FCFCS_GIET       0x111
30 #define FCFCS_GDID       0x112
31 #define FCFCS_GMID       0x113
32 #define FCFCS_GFN        0x114
33 #define FCFCS_GIELN      0x115
34 #define FCFCS_GMAL       0x116
35 #define FCFCS_GIEIL      0x117
36 #define FCFCS_GPL        0x118
37 #define FCFCS_GPT        0x121
38 #define FCFCS_GPPN       0x122
39 #define FCFCS_GAPNL      0x124
40 #define FCFCS_GPS        0x126
41 #define FCFCS_GATIN      0x128
42 #define FCFCS_GPLNL      0x191
43 #define FCFCS_GPLT       0x192
44 #define FCFCS_GPLML      0x193
45 #define FCFCS_GNPL       0x1A1
46 #define FCFCS_GPNL       0x1A2
47 #define FCFCS_GNID       0x1B1
48 #define FCFCS_RIELN      0x215
49 #define FCFCS_RPL        0x280
50 #define FCFCS_RPLN       0x291
51 #define FCFCS_RPLT       0x292
52 #define FCFCS_RPLM       0x293   
53 #define FCFCS_DPL        0x380
54 #define FCFCS_DPLN       0x391
55 #define FCFCS_DPLML      0x393
56 #define FCFCS_GCAP       0xe020
57
58 /* Used in protocol detail window */
59 static const value_string fc_fcs_opcode_val[] = {
60     {FCCT_MSG_ACC, "MSG_ACC"},
61     {FCCT_MSG_RJT, "MSG_RJT"},
62     {FCFCS_GTIN, "Get Topology Info"},
63     {FCFCS_GIEL, "Get Interconnect Element List"},
64     {FCFCS_GIET, "Get Interconnect Element Type"},
65     {FCFCS_GDID, "Get Interconnect Element Domain ID"},
66     {FCFCS_GMID, "Get Interconnect Element Mgmt ID"},
67     {FCFCS_GFN, "Get Interconnect Element Fabric Name"},
68     {FCFCS_GIELN, "Get Interconnect Element Logical Name"},
69     {FCFCS_GMAL, "Get Interconnect Element Mgmt Addr List"},
70     {FCFCS_GIEIL, "Get Interconnect Element Info List"},
71     {FCFCS_GPL, "Get Port List"},
72     {FCFCS_GPT, "Get Port Type"},
73     {FCFCS_GPPN, "Get Physical Port Number"},
74     {FCFCS_GAPNL, "Get Physical Port Name List"},
75     {FCFCS_GPS, "Get Port State"},
76     {FCFCS_GATIN, "Get Attached Topology Info"},
77     {FCFCS_GPLNL, "Get Platform Node Name List"},
78     {FCFCS_GPLT, "Get Platform Type"},
79     {FCFCS_GPLML, "Get Platform Mgmt Addr List"},
80     {FCFCS_GNPL, "Get Platform Node Name List"},
81     {FCFCS_GPNL, "Get Platform Name List"},
82     {FCFCS_GNID, "Get Node Identification Data"},
83     {FCFCS_RIELN, "Register Interconnect Element Logical Name"},
84     {FCFCS_RPL, "Register Platform"},
85     {FCFCS_RPLN, "Register Platform Node Name"},
86     {FCFCS_RPLT, "Register Platform Type"},
87     {FCFCS_RPLM, "Register Platform Mgmt. Address"},
88     {FCFCS_DPL, "Deregister Platform"},
89     {FCFCS_DPLN, "Deregister Platform Node Name"},
90     {FCFCS_DPLML, "Deregister Platform Mgmt. Address List"},
91     {FCFCS_GCAP, "Get Capabilities"},
92     {0, NULL},
93 };
94
95 /* Used in protocol summary window */
96 static const value_string fc_fcs_opcode_abbrev_val[] = {
97     {FCCT_MSG_ACC, "MSG_ACC"},
98     {FCCT_MSG_RJT, "MSG_RJT"},
99     {FCFCS_GTIN, "GTIN"},
100     {FCFCS_GIEL, "GIEL"},
101     {FCFCS_GIET, "GIET"},
102     {FCFCS_GDID, "GDID"},
103     {FCFCS_GMID, "GMID"},
104     {FCFCS_GFN, "GFN"},
105     {FCFCS_GIELN, "GIELN"},
106     {FCFCS_GMAL, "GMAL"},
107     {FCFCS_GIEIL, "GIEIL"},
108     {FCFCS_GPL, "GPL"},
109     {FCFCS_GPT, "GPT"},
110     {FCFCS_GPPN, "GPPN"},
111     {FCFCS_GAPNL, "GAPNL"},
112     {FCFCS_GPS, "GPS"},
113     {FCFCS_GATIN, "GATIN"},
114     {FCFCS_GPLNL, "GPLNL"},
115     {FCFCS_GPLT, "GPLT"},
116     {FCFCS_GPLML, "GPLML"},
117     {FCFCS_GNPL, "GNPL"},
118     {FCFCS_GPNL, "GPNL"},
119     {FCFCS_GNID, "GNID"},
120     {FCFCS_RIELN, "RIELN"},
121     {FCFCS_RPL, "RPL"},
122     {FCFCS_RPLN, "RPLN"},
123     {FCFCS_RPLT, "RPLT"},
124     {FCFCS_RPLM, "RPLM"},
125     {FCFCS_DPL, "DPL"},
126     {FCFCS_DPLN, "DPLN"},
127     {FCFCS_DPLML, "DPLML"},
128     {FCFCS_GCAP,  "GCAP"},
129     {0, NULL},
130 };
131
132 static const value_string fc_fcs_ietype_val[] = {
133     {0, "Unknown"},
134     {1, "Switch"},
135     {2, "Hub"},
136     {3, "Bridge"},
137     {0, NULL},
138 };
139
140 /* Port type definitions, same as in dNS (fcdns.h) */
141 #define FCFCS_PTYPE_UNDEF    0x00
142 #define FCFCS_PTYPE_NPORT    0x01
143 #define FCFCS_PTYPE_NLPORT   0x02
144 #define FCFCS_PTYPE_FNLPORT  0x03
145 #define FCFCS_PTYPE_NXPORT   0x7F
146 #define FCFCS_PTYPE_FPORT    0x81
147 #define FCFCS_PTYPE_FLPORT   0x82
148 #define FCFCS_PTYPE_EPORT    0x84
149 #define FCFCS_PTYPE_BPORT    0x85
150
151 static const value_string fc_fcs_port_type_val[] = {
152     {FCFCS_PTYPE_UNDEF   , "Undefined Port Type"},
153     {FCFCS_PTYPE_NPORT   , "N_Port"},
154     {FCFCS_PTYPE_NLPORT  , "NL_Port"},
155     {FCFCS_PTYPE_FNLPORT , "F/NL_Port"},
156     {FCFCS_PTYPE_NXPORT  , "Nx_Port"},
157     {FCFCS_PTYPE_FPORT   , "F_Port"},
158     {FCFCS_PTYPE_FLPORT  , "FL_Port"},
159     {FCFCS_PTYPE_EPORT   , "E_Port"},
160     {FCFCS_PTYPE_BPORT   , "B_Port"},
161     {0, NULL},
162 };
163
164 static const value_string fc_fcs_port_txtype_val[] = {
165     {1, "Unknown"},
166     {2, "Long Wave Laser"},
167     {3, "Short Wave Laser"},
168     {4, "Long Wave Laser Cost Reduced"},
169     {5, "Electrical"},
170     {0, NULL},
171 };
172
173 static const value_string fc_fcs_port_modtype_val[] = {
174     {1, "Unknown"},
175     {2, "Other"},
176     {3, "GBIC"},
177     {4, "Embedded"},
178     {5, "GLM"},
179     {6, "GBIC with Serial ID"},
180     {7, "GBIC without Serial ID"},
181     {8, "SFP with Serial ID"},
182     {9, "SFP without Serial ID"},
183     {0, NULL},
184 };
185
186 static const value_string fc_fcs_port_state_val[] = {
187     {0, "Unknown"},
188     {1, "Online"},
189     {2, "Offline"},
190     {3, "Testing"},
191     {4, "Fault"},
192     {0, NULL},
193 };
194
195 static const value_string fc_fcs_plat_type_val[] = {
196     {1, "Unknown"},
197     {2, "Other"},
198     {5, "Gateway"},
199     {6, "Converter"},
200     {7, "HBA"},
201     {8, "Software Proxy Agent"},
202     {9, "Storage Device"},
203     {10, "Host Computer"},
204     {11, "Storage Subsystem"},
205     {12, "Module"},
206     {13, "Software Driver"},
207     {14, "Storage Access Device"},
208     {0, NULL},
209 };
210
211 static const value_string fc_fcs_rjt_code_val[] = {
212     {0x00, "No Additional Explanation"},
213     {0x01, "Invalid Name_Identifier for Interconnect Element or Port"},
214     {0x10, "Interconnect Element List Not Available"},
215     {0x11, "Interconnect Element Type Not Available"},
216     {0x12, "Domain ID Not Available"},
217     {0x13, "Mgmt. ID Not Available"},
218     {0x14, "Fabric Name Not Available"},
219     {0x15, "Interconnect Element Logical Name Not Available"},
220     {0x16, "Mgmt. Address Not Available"},
221     {0x17, "Interconnect Element Information List Not Available"},
222     {0x30, "Port List Not Available"},
223     {0x31, "Port Type Not Available"},
224     {0x32, "Physical Port Number Not Available"},
225     {0x34, "Attached Port Name List Not Available"},
226     {0x36, "Port State Not Available"},
227     {0x50, "Unable to Register Interconnect Element Logical Name"},
228     {0x60, "Platform Name Does Not Exist"},
229     {0x61, "Platform Name Already Exists"},
230     {0x62, "Platform Node Name Does Not Exist"},
231     {0x63, "Platform Node Name Already Exists"},
232     {0, NULL},
233 };
234
235 static const true_false_string fc_fcs_portflags_tfs = {
236     "RTIN ELS Supported",
237     "RTIN ELS Not Supported",
238 };
239
240 static const value_string fc_fcs_fcsmask_val[] = {
241     {1, "Basic Configuration Service"},
242     {2, "Platform Configuration Service"},
243     {3, "Basic+Platform Configuration Service"},
244     {4, "Topology Discovery Configuration Service"},
245     {5, "Basic+Topology Discovery Configuration Service"},
246     {6, "Platform+Topology Discovery Configuration Service"},
247     {7, "Basic+Platform+Topology Discovery Configuration Service"},
248     {0, NULL},
249 };
250
251 static const value_string fc_fcs_unsmask_val[] = {
252     {1, "Basic Unzoned Name Service"},
253     {0, NULL},
254 };
255
256 #endif