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