1 /*
2  * Copyright (C) 2003-2015 FreeIPMI Core Team
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  *
17  */
18 
19 #ifndef IPMI_SEL_CMDS_TEMPLATES_H
20 #define IPMI_SEL_CMDS_TEMPLATES_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /* This header file is for documentation only */
27 
28 #if 0
29 
30 Please see fiid.h for details concerning the fiid interface.
31 
32 The following list the configurable fields of individual packet/record
33 templates in FreeIPMI.  Each field is listed as a list of the
34 following.
35 
36 { bits, "field name", field flag, field flag, ... }
37 
38 bits - indicates the number of bits in the field
39 
40 field name - indicates the name of the field, used for getting/setting
41              fields in the fiid API.
42 
43 field flags - flags indicating qualities of the field.  The following
44               qualities may exist for each field.
45 
46     REQUIRED - field is required for the packet/record
47     OPTIONAL - field is optional for the packet/record
48 
49     LENGTH-FIXED - field length is fixed at the number of bits listed
50 
51     LENGTH-VARIABLE - field length is variable for the number of bits
52                       listed
53 
54     MAKES-PACKET-SUFFICIENT - indicates field or fields are
55                               "sufficient" to make a packet/record valid
56                               and not malformed, but not necessarily a
57                               complete packet/record.
58 
59 Get SEL Info Request
60 --------------------
61 
62 FIID Template: tmpl_cmd_get_sel_info_rq
63 
64     { 8, "cmd", REQUIRED, LENGTH-FIXED }
65 
66 Get SEL Info Response
67 ---------------------
68 
69 FIID Template: tmpl_cmd_get_sel_info_rs
70 
71     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
72     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
73     { 4, "sel_version_major", REQUIRED, LENGTH-FIXED }
74     { 4, "sel_version_minor", REQUIRED, LENGTH-FIXED }
75     { 16, "entries", REQUIRED, LENGTH-FIXED }
76     { 16, "free_space", REQUIRED, LENGTH-FIXED }
77     { 32, "most_recent_addition_timestamp", REQUIRED, LENGTH-FIXED }
78     { 32, "most_recent_erase_timestamp", REQUIRED, LENGTH-FIXED }
79     { 1, "get_sel_allocation_info_command_supported", REQUIRED, LENGTH-FIXED }
80     { 1, "reserve_sel_command_supported", REQUIRED, LENGTH-FIXED }
81     { 1, "partial_add_sel_entry_command_supported", REQUIRED, LENGTH-FIXED }
82     { 1, "delete_sel_command_supported", REQUIRED, LENGTH-FIXED }
83     { 3, "reserved", REQUIRED, LENGTH-FIXED }
84     { 1, "overflow_flag", REQUIRED, LENGTH-FIXED }
85 
86 Get SEL Allocation Info Request
87 -------------------------------
88 
89 FIID Template: tmpl_cmd_get_sel_allocation_info_rq
90 
91     { 8, "cmd", REQUIRED, LENGTH-FIXED }
92 
93 Get SEL Allocation Info Response
94 --------------------------------
95 
96 FIID Template: tmpl_cmd_get_sel_allocation_info_rs
97 
98     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
99     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
100     { 16, "number_of_possible_allocation_units", REQUIRED, LENGTH-FIXED }
101     { 16, "allocation_unit_size", REQUIRED, LENGTH-FIXED }
102     { 16, "number_of_free_allocation_units", REQUIRED, LENGTH-FIXED }
103     { 16, "largest_free_block", REQUIRED, LENGTH-FIXED }
104     { 8, "maximum_record_size", REQUIRED, LENGTH-FIXED }
105 
106 Reserve SEL Request
107 -------------------
108 
109 FIID Template: tmpl_cmd_reserve_sel_rq
110 
111     { 8, "cmd", REQUIRED, LENGTH-FIXED }
112 
113 Reserve SEL Response
114 --------------------
115 
116 FIID Template: tmpl_cmd_reserve_sel_rs
117 
118     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
119     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
120     { 16, "reservation_id", REQUIRED, LENGTH-FIXED }
121 
122 Get SEL Entry Request
123 ---------------------
124 
125 FIID Template: tmpl_cmd_get_sel_entry_rq
126 
127     { 8, "cmd", REQUIRED, LENGTH-FIXED }
128     { 16, "reservation_id", REQUIRED, LENGTH-FIXED }
129     { 16, "record_id", REQUIRED, LENGTH-FIXED }
130     { 8, "offset_into_record", REQUIRED, LENGTH-FIXED }
131     { 8, "bytes_to_read", REQUIRED, LENGTH-FIXED }
132 
133 Get SEL Entry Response
134 ----------------------
135 
136 FIID Template: tmpl_cmd_get_sel_entry_rs
137 
138     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
139     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
140     { 16, "next_record_id", REQUIRED, LENGTH-FIXED }
141     { 128, "record_data", OPTIONAL, LENGTH-VARIABLE }
142 
143 Delete SEL Entry Request
144 ------------------------
145 
146 FIID Template: tmpl_cmd_delete_sel_entry_rq
147 
148     { 8, "cmd", REQUIRED, LENGTH-FIXED }
149     { 16, "reservation_id", REQUIRED, LENGTH-FIXED }
150     { 16, "record_id", REQUIRED, LENGTH-FIXED }
151 
152 Delete SEL Entry Response
153 -------------------------
154 
155 FIID Template: tmpl_cmd_delete_sel_entry_rs
156 
157     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
158     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
159     { 16, "record_id", REQUIRED, LENGTH-FIXED }
160 
161 Clear SEL Request
162 -----------------
163 
164 FIID Template: tmpl_cmd_clear_sel_rq
165 
166     { 8, "cmd", REQUIRED, LENGTH-FIXED }
167     { 16, "reservation_id", REQUIRED, LENGTH-FIXED }
168     { 8, "C", REQUIRED, LENGTH-FIXED }
169     { 8, "L", REQUIRED, LENGTH-FIXED }
170     { 8, "R", REQUIRED, LENGTH-FIXED }
171     { 8, "operation", REQUIRED, LENGTH-FIXED }
172 
173 Clear SEL Response
174 ------------------
175 
176 FIID Template: tmpl_cmd_clear_sel_rs
177 
178     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
179     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
180     { 4, "erasure_progress", REQUIRED, LENGTH-FIXED }
181     { 4, "reserved", REQUIRED, LENGTH-FIXED }
182 
183 Get SEL Time Request
184 --------------------
185 
186 FIID Template: tmpl_cmd_get_sel_time_rq
187 
188     { 8, "cmd", REQUIRED, LENGTH-FIXED }
189 
190 Get SEL Time Response
191 ---------------------
192 
193 FIID Template: tmpl_cmd_get_sel_time_rs
194 
195     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
196     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
197     { 32, "time", REQUIRED, LENGTH-FIXED }
198 
199 Set SEL Time Request
200 --------------------
201 
202 FIID Template: tmpl_cmd_set_sel_time_rq
203 
204     { 8, "cmd", REQUIRED, LENGTH-FIXED }
205     { 32, "time", REQUIRED, LENGTH-FIXED }
206 
207 Set SEL Time Response
208 ---------------------
209 
210 FIID Template: tmpl_cmd_set_sel_time_rs
211 
212     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
213     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
214 
215 Get SEL Time UTC Offset Request
216 -------------------------------
217 
218 FIID Template: tmpl_cmd_get_sel_time_utc_offset_rq
219 
220     { 8, "cmd", REQUIRED, LENGTH-FIXED }
221 
222 Get SEL Time UTC Offset Response
223 --------------------------------
224 
225 FIID Template: tmpl_cmd_get_sel_time_utc_offset_rs
226 
227     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
228     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
229     { 16, "offset", REQUIRED, LENGTH-FIXED }
230 
231 Set SEL Time UTC Offset Request
232 -------------------------------
233 
234 FIID Template: tmpl_cmd_set_sel_time_utc_offset_rq
235 
236     { 8, "cmd", REQUIRED, LENGTH-FIXED }
237     { 16, "offset", REQUIRED, LENGTH-FIXED }
238 
239 Set SEL Time UTC Offset Response
240 --------------------------------
241 
242 FIID Template: tmpl_cmd_set_sel_time_utc_offset_rs
243 
244     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
245     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
246 
247 Get Auxiliary Log Status Request
248 --------------------------------
249 
250 FIID Template: tmpl_cmd_get_auxiliary_log_status_rq
251 
252     { 8, "cmd", REQUIRED, LENGTH-FIXED }
253     { 4, "log_type", REQUIRED, LENGTH-FIXED }
254     { 4, "reserved", REQUIRED, LENGTH-FIXED }
255 
256 Get Auxiliary Log Status Response
257 ---------------------------------
258 
259 FIID Template: tmpl_cmd_get_auxiliary_log_status_rs
260 
261     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
262     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
263     { 120, "log_data", REQUIRED, LENGTH-VARIABLE }
264 
265 Get Auxiliary Log Status (MCA) Response
266 ---------------------------------------
267 
268 FIID Template: tmpl_cmd_get_auxiliary_log_status_mca_rs
269 
270     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
271     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
272     { 32, "timestamp", REQUIRED, LENGTH-FIXED }
273     { 32, "mca_log_entry_count", REQUIRED, LENGTH-FIXED }
274     { 56, "log_data", OPTIONAL, LENGTH-VARIABLE }
275 
276 Get Auxiliary Log Status (OEM) Response
277 ---------------------------------------
278 
279 FIID Template: tmpl_cmd_get_auxiliary_log_status_oem_rs
280 
281     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
282     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
283     { 32, "timestamp", REQUIRED, LENGTH-FIXED }
284     { 24, "oem_id", REQUIRED, LENGTH-FIXED }
285     { 64, "log_data", REQUIRED, LENGTH-VARIABLE }
286 
287 Set Auxiliary Log Status Request
288 --------------------------------
289 
290 FIID Template: tmpl_cmd_set_auxiliary_log_status_rq
291 
292     { 8, "cmd", REQUIRED, LENGTH-FIXED }
293     { 4, "log_type", REQUIRED, LENGTH-FIXED }
294     { 4, "reserved", REQUIRED, LENGTH-FIXED }
295     { 120, "log_data", REQUIRED, LENGTH-VARIABLE }
296 
297 Set Auxiliary Log Status Response
298 ---------------------------------
299 
300 FIID Template: tmpl_cmd_set_auxiliary_log_status_rs
301 
302     { 8, "cmd", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
303     { 8, "comp_code", REQUIRED, LENGTH-FIXED, MAKES-PACKET-SUFFICIENT }
304 
305 #endif  /* 0 */
306 
307 #ifdef __cplusplus
308 }
309 #endif
310 
311 #endif /* IPMI_SEL_CMDS_TEMPLATES_H */
312