Fixup: tvb_get_string(z) -> tvb_get_string(z)_enc
[metze/wireshark/wip.git] / epan / dissectors / packet-ipmi-bridge.c
1 /* packet-ipmi-bridge.c
2  * Sub-dissectors for IPMI messages (netFn=Bridge)
3  * Copyright 2007-2008, Alexey Neyman, Pigeon Point Systems <avn@pigeonpoint.com>
4  *
5  * Wireshark - Network traffic analyzer
6  * By Gerald Combs <gerald@wireshark.org>
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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
22  */
23
24 #include "config.h"
25
26 #include <epan/packet.h>
27
28 #include "packet-ipmi.h"
29
30 void proto_register_ipmi_bridge(void);
31
32 /* Bridge commands are not implemented (yet) */
33
34
35 static ipmi_cmd_t cmd_bridge[] = {
36   /* Bridge management commands (ICMB) */
37   { 0x00, IPMI_TBD,   NULL, NULL, "[ICMB] Get Bridge State", 0 },
38   { 0x01, IPMI_TBD,   NULL, NULL, "[ICMB] Set Bridge State", 0 },
39   { 0x02, IPMI_TBD,   NULL, NULL, "[ICMB] Get ICMB Address", 0 },
40   { 0x03, IPMI_TBD,   NULL, NULL, "[ICMB] Set ICMB Address", 0 },
41   { 0x04, IPMI_TBD,   NULL, NULL, "[ICMB] Set Bridge Proxy Address", 0 },
42   { 0x05, IPMI_TBD,   NULL, NULL, "[ICMB] Get Bridge Statistics", 0 },
43   { 0x06, IPMI_TBD,   NULL, NULL, "[ICMB] Get ICMB Capabilities", 0 },
44   { 0x08, IPMI_TBD,   NULL, NULL, "[ICMB] Clear Bridge Statistics", 0 },
45   { 0x09, IPMI_TBD,   NULL, NULL, "[ICMB] Get Bridge Proxy Address", 0 },
46   { 0x0a, IPMI_TBD,   NULL, NULL, "[ICMB] Get ICMB Connector Info", 0 },
47   { 0x0b, IPMI_TBD,   NULL, NULL, "[ICMB] Get ICMB Connection ID", 0 },
48   { 0x0c, IPMI_TBD,   NULL, NULL, "[ICMB] Send ICMB Connection ID", 0 },
49
50   /* Discovery Commands (ICMB) */
51   { 0x10, IPMI_TBD,   NULL, NULL, "[ICMB] Prepare For Discovery", 0 },
52   { 0x11, IPMI_TBD,   NULL, NULL, "[ICMB] Get Addresses", 0 },
53   { 0x12, IPMI_TBD,   NULL, NULL, "[ICMB] Set Discovered", 0 },
54   { 0x13, IPMI_TBD,   NULL, NULL, "[ICMB] Get Chassis Device ID", 0 },
55   { 0x14, IPMI_TBD,   NULL, NULL, "[ICMB] Set Chassis Device ID", 0 },
56
57   /* Bridging Commands (ICMB) */
58   { 0x20, IPMI_TBD,   NULL, NULL, "[ICMB] Bridge Request", 0 },
59   { 0x21, IPMI_TBD,   NULL, NULL, "[ICMB] Bridge Message", 0 },
60
61   /* Event Commands (ICMB) */
62   { 0x30, IPMI_TBD,   NULL, NULL, "[ICMB] Get Event Count", 0 },
63   { 0x31, IPMI_TBD,   NULL, NULL, "[ICMB] Set Event Destination", 0 },
64   { 0x32, IPMI_TBD,   NULL, NULL, "[ICMB] Set Event Reception State", 0 },
65   { 0x33, IPMI_TBD,   NULL, NULL, "[ICMB] Send ICMB Event Message", 0 },
66   { 0x34, IPMI_TBD,   NULL, NULL, "[ICMB] Get Event Destination", 0 },
67   { 0x35, IPMI_TBD,   NULL, NULL, "[ICMB] Get Event Reception State", 0 },
68
69   /* OEM Commands for Bridge NetFn */
70   { 0xc0, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
71   { 0xc1, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
72   { 0xc2, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
73   { 0xc3, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
74   { 0xc4, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
75   { 0xc5, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
76   { 0xc6, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
77   { 0xc7, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
78   { 0xc8, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
79   { 0xc9, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
80   { 0xca, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
81   { 0xcb, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
82   { 0xcc, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
83   { 0xcd, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
84   { 0xce, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
85   { 0xcf, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
86   { 0xd0, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
87   { 0xd1, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
88   { 0xd2, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
89   { 0xd3, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
90   { 0xd4, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
91   { 0xd5, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
92   { 0xd6, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
93   { 0xd7, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
94   { 0xd8, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
95   { 0xd9, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
96   { 0xda, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
97   { 0xdb, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
98   { 0xdc, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
99   { 0xdd, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
100   { 0xde, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
101   { 0xdf, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
102   { 0xe0, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
103   { 0xe1, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
104   { 0xe2, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
105   { 0xe3, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
106   { 0xe4, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
107   { 0xe5, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
108   { 0xe6, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
109   { 0xe7, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
110   { 0xe8, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
111   { 0xe9, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
112   { 0xea, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
113   { 0xeb, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
114   { 0xec, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
115   { 0xed, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
116   { 0xee, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
117   { 0xef, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
118   { 0xf0, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
119   { 0xf1, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
120   { 0xf2, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
121   { 0xf3, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
122   { 0xf4, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
123   { 0xf5, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
124   { 0xf6, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
125   { 0xf7, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
126   { 0xf8, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
127   { 0xf9, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
128   { 0xfa, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
129   { 0xfb, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
130   { 0xfc, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
131   { 0xfd, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
132   { 0xfe, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
133
134   /* Other Bridge Commands */
135   { 0xff, IPMI_TBD,   NULL, NULL, "[ICMB] Error Report", 0 },
136 };
137
138 void
139 proto_register_ipmi_bridge(void)
140 {
141         ipmi_register_netfn_cmdtab(IPMI_BRIDGE_REQ, IPMI_OEM_NONE, NULL, 0, NULL,
142                         cmd_bridge, array_length(cmd_bridge));
143 }