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_MESSAGING_SUPPORT_CMDS_H 20 #define IPMI_MESSAGING_SUPPORT_CMDS_H 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 #include <stdint.h> 27 #include <freeipmi/fiid/fiid.h> 28 29 #define IPMI_MAX_USER_NAME_LENGTH 16 30 #define IPMI_1_5_MAX_PASSWORD_LENGTH 16 31 #define IPMI_2_0_MAX_PASSWORD_LENGTH 20 32 #define IPMI_MAX_PASSWORD_LENGTH IPMI_2_0_MAX_PASSWORD_LENGTH 33 #define IPMI_CHALLENGE_STRING_LENGTH 16 34 #define IPMI_MAX_K_R_LENGTH 20 35 #define IPMI_MAX_K_G_LENGTH 20 36 37 #define IPMI_BMC_GLOBAL_ENABLES_ENABLED 0x1 38 #define IPMI_BMC_GLOBAL_ENALBES_DISABLED 0x0 39 40 #define IPMI_BMC_GLOBAL_ENABLES_VALID(__val) \ 41 (((__val) == IPMI_BMC_GLOBAL_ENABLES_ENABLED \ 42 || (__val) == IPMI_BMC_GLOBAL_ENALBES_DISABLED) ? 1 : 0) 43 44 #define IPMI_MESSAGE_FLAGS_CLEAR 0x1 45 #define IPMI_MESSAGE_FLAGS_DONT_CLEAR 0x0 46 47 #define IPMI_MESSAGE_FLAGS_VALID(__val) \ 48 (((__val) == IPMI_MESSAGE_FLAGS_CLEAR \ 49 || (__val) == IPMI_MESSAGE_FLAGS_DONT_CLEAR) ? 1 : 0) 50 51 #define IPMI_CHANNEL_OPERATION_DISABLE_CHANNEL 0x00 52 #define IPMI_CHANNEL_OPERATION_ENABLE_CHANNEL 0x01 53 #define IPMI_CHANNEL_OPERATION_GET_CHANNEL_ENABLE_DISABLE_STATE 0x02 54 55 #define IPMI_CHANNEL_OPERATION_VALID(__val) \ 56 (((__val) == IPMI_CHANNEL_OPERATION_DISABLE_CHANNEL \ 57 || (__val) == IPMI_CHANNEL_OPERATION_ENABLE_CHANNEL \ 58 || (__val) == IPMI_CHANNEL_OPERATION_GET_CHANNEL_ENABLE_DISABLE_STATE) ? 1 : 0) 59 60 #define IPMI_CHANNEL_DISABLED 0x00 61 #define IPMI_CHANNEL_ENABLED 0x01 62 63 #define IPMI_SEND_MESSAGE_WITH_AUTHENTICATION 0x1 64 #define IPMI_SEND_MESSAGE_AUTHENTICATION_NOT_REQUIRED 0x0 65 66 #define IPMI_SEND_MESSAGE_AUTHENTICATION_VALID(__val) \ 67 (((__val) == IPMI_SEND_MESSAGE_WITH_AUTHENTICATION \ 68 || (__val) == IPMI_SEND_MESSAGE_AUTHENTICATION_NOT_REQUIRED) ? 1 : 0) 69 70 #define IPMI_SEND_MESSAGE_WITH_ENCRYPTION 0x1 71 #define IPMI_SEND_MESSAGE_ENCRYPTION_NOT_REQUIRED 0x0 72 73 #define IPMI_SEND_MESSAGE_ENCRYPTION_VALID(__val) \ 74 (((__val) == IPMI_SEND_MESSAGE_WITH_ENCRYPTION \ 75 || (__val) == IPMI_SEND_MESSAGE_ENCRYPTION_NOT_REQUIRED) ? 1 : 0) 76 77 #define IPMI_SEND_MESSAGE_TRACKING_OPERATION_NO_TRACKING 0x0 78 #define IPMI_SEND_MESSAGE_TRACKING_OPERATION_TRACKING_REQUEST 0x1 79 #define IPMI_SEND_MESSAGE_TRACKING_OPERATION_SEND_RAW 0x2 80 81 #define IPMI_SEND_MESSAGE_TRACKING_VALID(__val) \ 82 (((__val) == IPMI_SEND_MESSAGE_TRACKING_OPERATION_NO_TRACKING \ 83 || (__val) == IPMI_SEND_MESSAGE_TRACKING_OPERATION_TRACKING_REQUEST \ 84 || (__val) == IPMI_SEND_MESSAGE_TRACKING_OPERATION_SEND_RAW) ? 1 : 0) 85 86 #define IPMI_SYSTEM_INTERFACE_SSIF 0x00 87 #define IPMI_SYSTEM_INTERFACE_KCS 0x01 88 #define IPMI_SYSTEM_INTERFACE_SMIC 0x02 89 90 #define IPMI_SYSTEM_INTERFACE_VALID(__val) \ 91 (((__val) == IPMI_SYSTEM_INTERFACE_SSIF \ 92 || (__val) == IPMI_SYSTEM_INTERFACE_KCS \ 93 || (__val) == IPMI_SYSTEM_INTERFACE_SMIC) ? 1 : 0) 94 95 #define IPMI_SSIF_SYSTEM_INTERFACE_VERSION_1 0x0 96 97 #define IPMI_SSIF_SYSTEM_INTERFACE_IMPLEMENTS_PEC 0x1 98 #define IPMI_SSIF_SYSTEM_INTERFACE_DOES_NOT_SUPPORT_PEC 0x0 99 100 #define IPMI_SSIF_SYSTEM_INTERFACE_TRANSACTION_SUPPORT_SINGLE_PART_READS_WRITES_SUPPORTED 0x0 101 #define IPMI_SSIF_SYSTEM_INTERFACE_TRANSACTION_SUPPORT_MULTI_PART_READS_WRITES_SUPPORTED_START_AND_END_ONLY 0x1 102 #define IPMI_SSIF_SYSTEM_INTERFACE_TRANSACTION_SUPPORT_MULTI_PART_READS_WRITES_SUPPORTED_START_MIDDLE_END 0x2 103 104 #define IPMI_KCS_SYSTEM_INTERFACE_VERSION_1 0x0 105 106 #define IPMI_BUS_TYPE_PUBLIC 0x0 107 #define IPMI_BUS_TYPE_PRIVATE 0x1 108 109 #define IPMI_BUS_TYPE_VALID(__bus_type) \ 110 (((__bus_type) == IPMI_BUS_TYPE_PUBLIC \ 111 || (__bus_type) == IPMI_BUS_TYPE_PRIVATE) ? 1 : 0) 112 113 #define IPMI_GET_IPMI_V20_EXTENDED_DATA 0x01 114 #define IPMI_GET_IPMI_V15_DATA 0x00 115 116 #define IPMI_GET_IPMI_DATA_VALID(__val) \ 117 (((__val) == IPMI_GET_IPMI_V20_EXTENDED_DATA \ 118 || (__val) == IPMI_GET_IPMI_V15_DATA) ? 1 : 0) 119 120 #define IPMI_GET_SYSTEM_INFO_PARAMETER 0x0 121 #define IPMI_GET_SYSTEM_INFO_PARAMETER_REVISION_ONLY 0x1 122 123 #define IPMI_GET_SYSTEM_INFO_PARAMETER_VALID(__val) \ 124 (((__val) == IPMI_GET_SYSTEM_INFO_PARAMETER \ 125 || (__val) == IPMI_GET_SYSTEM_INFO_PARAMETER_REVISION_ONLY) ? 1 : 0) 126 127 #define IPMI_SYSTEM_INFO_PARAMETERS_NO_SET_SELECTOR 0x0 128 #define IPMI_SYSTEM_INFO_PARAMETERS_NO_BLOCK_SELECTOR 0x0 129 130 #define IPMI_SYSTEM_INFO_PARAMETERS_SET_COMPLETE 0x00 131 #define IPMI_SYSTEM_INFO_PARAMETERS_SET_IN_PROGRESS 0x01 132 #define IPMI_SYSTEM_INFO_PARAMETERS_SET_COMMIT_WRITE 0x02 133 134 #define IPMI_SYSTEM_INFO_PARAMETERS_SET_IN_PROGRESS_VALID(__value) \ 135 (((__value) == IPMI_SYSTEM_INFO_PARAMETERS_SET_COMPLETE \ 136 || (__value) == IPMI_SYSTEM_INFO_PARAMETERS_SET_IN_PROGRESS \ 137 || (__value) == IPMI_SYSTEM_INFO_PARAMETERS_SET_COMMIT_WRITE) ? 1 : 0) 138 139 #define IPMI_SYSTEM_INFO_ENCODING_ASCII_LATIN1 0x0 140 #define IPMI_SYSTEM_INFO_ENCODING_UTF_8 0x1 141 #define IPMI_SYSTEM_INFO_ENCODING_UNICODE 0x2 142 143 #define IPMI_SYSTEM_INFO_ENCODING_VALID(__val) \ 144 (((__val) == IPMI_SYSTEM_INFO_ENCODING_ASCII_LATIN1 \ 145 || (__val) == IPMI_SYSTEM_INFO_ENCODING_UTF_8 \ 146 || (__val) == IPMI_SYSTEM_INFO_ENCODING_UNICODE) ? 1 : 0) 147 148 #define IPMI_SYSTEM_INFO_FIRST_SET_STRING_LEN_MAX 14 149 #define IPMI_SYSTEM_INFO_SET_STRING_LEN_MAX 16 150 #define IPMI_SYSTEM_INFO_STRING_LEN_MAX 255 151 152 #define IPMI_LIST_ALGORITHMS_BY_CIPHER_SUITE 0x1 153 #define IPMI_LIST_SUPPORTED_ALGORITHMS 0x0 154 155 #define IPMI_LIST_ALGORITHM_TYPE_VALID(__val) \ 156 (((__val) == IPMI_LIST_ALGORITHMS_BY_CIPHER_SUITE \ 157 || (__val) == IPMI_LIST_SUPPORTED_ALGORITHMS) ? 1 : 0) 158 159 #define IPMI_MESSAGING_ACCESS_MODE_DISABLED 0x0 160 #define IPMI_MESSAGING_ACCESS_MODE_PRE_BOOT_ONLY 0x1 161 #define IPMI_MESSAGING_ACCESS_MODE_ALWAYS_AVAILABLE 0x2 162 #define IPMI_MESSAGING_ACCESS_MODE_SHARED 0x3 163 164 #define IPMI_MESSAGING_ACCESS_MODE_VALID(__access_mode) \ 165 (((__access_mode) == IPMI_MESSAGING_ACCESS_MODE_DISABLED \ 166 || (__access_mode) == IPMI_MESSAGING_ACCESS_MODE_PRE_BOOT_ONLY \ 167 || (__access_mode) == IPMI_MESSAGING_ACCESS_MODE_ALWAYS_AVAILABLE \ 168 || (__access_mode) == IPMI_MESSAGING_ACCESS_MODE_SHARED) ? 1 : 0) 169 170 #define IPMI_USER_LEVEL_AUTHENTICATION_ENABLE 0x0 171 #define IPMI_USER_LEVEL_AUTHENTICATION_DISABLE 0x1 172 173 #define IPMI_USER_LEVEL_AUTHENTICATION_VALID(__val) \ 174 (((__val) == IPMI_USER_LEVEL_AUTHENTICATION_ENABLE \ 175 || (__val) == IPMI_USER_LEVEL_AUTHENTICATION_DISABLE) ? 1 : 0) 176 177 #define IPMI_PER_MESSAGE_AUTHENTICATION_ENABLE 0x0 178 #define IPMI_PER_MESSAGE_AUTHENTICATION_DISABLE 0x1 179 180 #define IPMI_PER_MESSAGE_AUTHENTICATION_VALID(__val) \ 181 (((__val) == IPMI_PER_MESSAGE_AUTHENTICATION_ENABLE \ 182 || (__val) == IPMI_PER_MESSAGE_AUTHENTICATION_DISABLE) ? 1 : 0) 183 184 #define IPMI_PEF_ALERTING_ENABLE 0x0 185 #define IPMI_PEF_ALERTING_DISABLE 0x1 186 187 #define IPMI_PEF_ALERTING_VALID(__val) \ 188 (((__val) == IPMI_PEF_ALERTING_ENABLE \ 189 || (__val) == IPMI_PEF_ALERTING_DISABLE) ? 1 : 0) 190 191 #define IPMI_CHANNEL_ACCESS_NO_CHANGE 0x0 192 #define IPMI_CHANNEL_ACCESS_SET_NON_VOLATILE 0x1 193 #define IPMI_CHANNEL_ACCESS_SET_VOLATILE 0x2 194 #define IPMI_CHANNEL_ACCESS_RESERVED 0x3 195 196 #define IPMI_CHANNEL_ACCESS_VALID(__access_mode) \ 197 (((__access_mode) == IPMI_CHANNEL_ACCESS_NO_CHANGE \ 198 || (__access_mode) == IPMI_CHANNEL_ACCESS_SET_NON_VOLATILE \ 199 || (__access_mode) == IPMI_CHANNEL_ACCESS_SET_VOLATILE) ? 1 : 0) 200 201 #define IPMI_PRIVILEGE_LEVEL_LIMIT_NO_CHANGE 0x0 202 #define IPMI_PRIVILEGE_LEVEL_LIMIT_SET_NON_VOLATILE 0x1 203 #define IPMI_PRIVILEGE_LEVEL_LIMIT_SET_VOLATILE 0x2 204 #define IPMI_PRIVILEGE_LEVEL_LIMIT_RESERVED 0x3 205 206 #define IPMI_PRIVILEGE_LEVEL_LIMIT_SET_VALID(__privilege_level_limit) \ 207 (((__privilege_level_limit) == IPMI_PRIVILEGE_LEVEL_LIMIT_NO_CHANGE \ 208 || (__privilege_level_limit) == IPMI_PRIVILEGE_LEVEL_LIMIT_SET_NON_VOLATILE \ 209 || (__privilege_level_limit) == IPMI_PRIVILEGE_LEVEL_LIMIT_SET_VOLATILE) ? 1 : 0) 210 211 #define IPMI_CHANNEL_ACCESS_GET_NON_VOLATILE 0x1 212 #define IPMI_CHANNEL_ACCESS_GET_VOLATILE 0x2 213 214 #define IPMI_CHANNEL_ACCESS_GET_VALID(__val) \ 215 (((__val) == IPMI_CHANNEL_ACCESS_GET_NON_VOLATILE \ 216 || (__val) == IPMI_CHANNEL_ACCESS_GET_VOLATILE) ? 1 : 0) 217 218 #define IPMI_USER_RESTRICTED_TO_CALLBACK_ENABLE 0x1 219 #define IPMI_USER_RESTRICTED_TO_CALLBACK_DISABLE 0x0 220 221 #define IPMI_USER_RESTRICTED_TO_CALLBACK_VALID(__val) \ 222 (((__val) == IPMI_USER_RESTRICTED_TO_CALLBACK_ENABLE \ 223 || (__val) == IPMI_USER_RESTRICTED_TO_CALLBACK_DISABLE) ? 1 : 0) 224 225 #define IPMI_PRIVILEGE_LEVEL_LIMIT_VALID(__privilege_level) \ 226 (((__privilege_level) == IPMI_PRIVILEGE_LEVEL_CALLBACK \ 227 || (__privilege_level) == IPMI_PRIVILEGE_LEVEL_USER \ 228 || (__privilege_level) == IPMI_PRIVILEGE_LEVEL_OPERATOR \ 229 || (__privilege_level) == IPMI_PRIVILEGE_LEVEL_ADMIN \ 230 || (__privilege_level) == IPMI_PRIVILEGE_LEVEL_OEM \ 231 || (__privilege_level) == IPMI_PRIVILEGE_LEVEL_NO_ACCESS) ? 1 : 0) 232 233 #define IPMI_USER_LINK_AUTHENTICATION_ENABLE 0x1 234 #define IPMI_USER_LINK_AUTHENTICATION_DISABLE 0x0 235 236 #define IPMI_USER_LINK_AUTHENTICATION_VALID(__val) \ 237 (((__val) == IPMI_USER_LINK_AUTHENTICATION_ENABLE \ 238 || (__val) == IPMI_USER_LINK_AUTHENTICATION_DISABLE) ? 1 : 0) 239 240 #define IPMI_USER_IPMI_MESSAGING_ENABLE 0x1 241 #define IPMI_USER_IPMI_MESSAGING_DISABLE 0x0 242 243 #define IPMI_USER_IPMI_MESSAGING_VALID(__val) \ 244 (((__val) == IPMI_USER_IPMI_MESSAGING_ENABLE \ 245 || (__val) == IPMI_USER_IPMI_MESSAGING_DISABLE) ? 1 : 0) 246 247 #define IPMI_CHANGE_BITS_YES 0x1 248 #define IPMI_CHANGE_BITS_NO 0x0 249 250 #define IPMI_CHANGE_BITS_VALID(__val) \ 251 (((__val) == IPMI_CHANGE_BITS_YES \ 252 || (__val) == IPMI_CHANGE_BITS_NO) ? 1 : 0) 253 254 #define IPMI_SESSION_SUPPORT_SESSION_LESS 0x00 255 #define IPMI_SESSION_SUPPORT_SINGLE_SESSION 0x01 256 #define IPMI_SESSION_SUPPORT_MULTI_SESSION 0x02 257 #define IPMI_SESSION_SUPPORT_SESSION_BASED 0x03 258 259 #define IPMI_CHANNEL_SECURITY_KEYS_OPERATION_READ_KEY 0x0 260 #define IPMI_CHANNEL_SECURITY_KEYS_OPERATION_SET_KEY 0x1 261 #define IPMI_CHANNEL_SECURITY_KEYS_OPERATION_LOCK_KEY 0x2 262 263 #define IPMI_CHANNEL_SECURITY_KEYS_OPERATION_VALID(__val) \ 264 (((__val) == IPMI_CHANNEL_SECURITY_KEYS_OPERATION_READ_KEY \ 265 || (__val) == IPMI_CHANNEL_SECURITY_KEYS_OPERATION_SET_KEY \ 266 || (__val) == IPMI_CHANNEL_SECURITY_KEYS_OPERATION_LOCK_KEY) ? 1 : 0) 267 268 #define IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_R 0x0 269 #define IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_G 0x1 270 271 #define IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_VALID(__val) \ 272 (((__val) == IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_R \ 273 || (__val) == IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_G) ? 1 : 0) 274 275 #define IPMI_CHANNEL_SECURITY_KEYS_LOCK_STATUS_KEY_IS_NOT_LOCKABLE 0x0 276 #define IPMI_CHANNEL_SECURITY_KEYS_LOCK_STATUS_KEY_IS_LOCKED 0x1 277 #define IPMI_CHANNEL_SECURITY_KEYS_LOCK_STATUS_KEY_IS_UNLOCKED 0x2 278 279 #define IPMI_PASSWORD_OPERATION_DISABLE_USER 0x0 280 #define IPMI_PASSWORD_OPERATION_ENABLE_USER 0x1 281 #define IPMI_PASSWORD_OPERATION_SET_PASSWORD 0x2 282 #define IPMI_PASSWORD_OPERATION_TEST_PASSWORD 0x3 283 284 #define IPMI_PASSWORD_OPERATION_VALID(__operation) \ 285 (((__operation) == IPMI_PASSWORD_OPERATION_DISABLE_USER \ 286 || (__operation) == IPMI_PASSWORD_OPERATION_ENABLE_USER \ 287 || (__operation) == IPMI_PASSWORD_OPERATION_SET_PASSWORD \ 288 || (__operation) == IPMI_PASSWORD_OPERATION_TEST_PASSWORD) ? 1 : 0) 289 290 #define IPMI_PASSWORD_SIZE_16_BYTES 0x0 291 #define IPMI_PASSWORD_SIZE_20_BYTES 0x1 292 293 #define IPMI_PASSWORD_SIZE_VALID(__password_size) \ 294 (((__password_size) == IPMI_PASSWORD_SIZE_16_BYTES \ 295 || (__password_size) == IPMI_PASSWORD_SIZE_20_BYTES) ? 1 : 0) 296 297 #define IPMI_USER_ID_ENABLE_STATUS_UNSPECIFIED 0x0 298 #define IPMI_USER_ID_ENABLE_STATUS_ENABLED 0x1 299 #define IPMI_USER_ID_ENABLE_STATUS_DISABLED 0x2 300 301 /* 302 * fill* functions return 0 on success, -1 on error. 303 * 304 * obj_cmd_rq must be for the fill function's respective fiid 305 * template request. 306 * 307 * see freeipmi/templates/ for template definitions 308 */ 309 310 extern fiid_template_t tmpl_cmd_set_bmc_global_enables_rq; 311 extern fiid_template_t tmpl_cmd_set_bmc_global_enables_rs; 312 extern fiid_template_t tmpl_cmd_get_bmc_global_enables_rq; 313 extern fiid_template_t tmpl_cmd_get_bmc_global_enables_rs; 314 315 extern fiid_template_t tmpl_cmd_clear_message_flags_rq; 316 extern fiid_template_t tmpl_cmd_clear_message_flags_rs; 317 extern fiid_template_t tmpl_cmd_get_message_flags_rq; 318 extern fiid_template_t tmpl_cmd_get_message_flags_rs; 319 extern fiid_template_t tmpl_cmd_enable_message_channel_receive_rq; 320 extern fiid_template_t tmpl_cmd_enable_message_channel_receive_rs; 321 extern fiid_template_t tmpl_cmd_get_message_rq; 322 extern fiid_template_t tmpl_cmd_get_message_rs; 323 extern fiid_template_t tmpl_cmd_send_message_rq; 324 extern fiid_template_t tmpl_cmd_send_message_rs; 325 extern fiid_template_t tmpl_cmd_read_event_message_buffer_rq; 326 extern fiid_template_t tmpl_cmd_read_event_message_buffer_rs; 327 328 extern fiid_template_t tmpl_cmd_get_system_interface_capabilities_rq; 329 extern fiid_template_t tmpl_cmd_get_system_interface_capabilities_rs; 330 extern fiid_template_t tmpl_cmd_get_system_interface_capabilities_ssif_rs; 331 extern fiid_template_t tmpl_cmd_get_system_interface_capabilities_kcs_rs; 332 extern fiid_template_t tmpl_cmd_get_bt_interface_capabilities_rq; 333 extern fiid_template_t tmpl_cmd_get_bt_interface_capabilities_rs; 334 extern fiid_template_t tmpl_cmd_master_write_read_rq; 335 extern fiid_template_t tmpl_cmd_master_write_read_rs; 336 337 extern fiid_template_t tmpl_cmd_get_channel_authentication_capabilities_rq; 338 extern fiid_template_t tmpl_cmd_get_channel_authentication_capabilities_rs; 339 340 extern fiid_template_t tmpl_cmd_get_system_guid_rq; 341 extern fiid_template_t tmpl_cmd_get_system_guid_rs; 342 extern fiid_template_t tmpl_cmd_get_device_guid_format_rs; 343 344 extern fiid_template_t tmpl_cmd_set_system_info_parameters_rq; 345 extern fiid_template_t tmpl_cmd_set_system_info_parameters_rs; 346 347 extern fiid_template_t tmpl_cmd_set_system_info_parameters_set_in_progress_rq; 348 extern fiid_template_t tmpl_cmd_set_system_info_parameters_system_firmware_version_first_set_rq; 349 extern fiid_template_t tmpl_cmd_set_system_info_parameters_system_firmware_version_rq; 350 extern fiid_template_t tmpl_cmd_set_system_info_parameters_system_name_first_set_rq; 351 extern fiid_template_t tmpl_cmd_set_system_info_parameters_system_name_rq; 352 extern fiid_template_t tmpl_cmd_set_system_info_parameters_primary_operating_system_name_first_set_rq; 353 extern fiid_template_t tmpl_cmd_set_system_info_parameters_primary_operating_system_name_rq; 354 extern fiid_template_t tmpl_cmd_set_system_info_parameters_operating_system_name_first_set_rq; 355 extern fiid_template_t tmpl_cmd_set_system_info_parameters_operating_system_name_rq; 356 extern fiid_template_t tmpl_cmd_set_system_info_parameters_present_os_version_number_first_set_rq; 357 extern fiid_template_t tmpl_cmd_set_system_info_parameters_present_os_version_number_rq; 358 extern fiid_template_t tmpl_cmd_set_system_info_parameters_bmc_url_first_set_rq; 359 extern fiid_template_t tmpl_cmd_set_system_info_parameters_bmc_url_rq; 360 extern fiid_template_t tmpl_cmd_set_system_info_parameters_base_os_hypervisor_url_first_set_rq; 361 extern fiid_template_t tmpl_cmd_set_system_info_parameters_base_os_hypervisor_url_rq; 362 363 extern fiid_template_t tmpl_cmd_get_system_info_parameters_rq; 364 extern fiid_template_t tmpl_cmd_get_system_info_parameters_rs; 365 366 extern fiid_template_t tmpl_cmd_get_system_info_parameters_set_in_progress_rs; 367 extern fiid_template_t tmpl_cmd_get_system_info_parameters_system_firmware_version_first_set_rs; 368 extern fiid_template_t tmpl_cmd_get_system_info_parameters_system_firmware_version_rs; 369 extern fiid_template_t tmpl_cmd_get_system_info_parameters_system_name_first_set_rs; 370 extern fiid_template_t tmpl_cmd_get_system_info_parameters_system_name_rs; 371 extern fiid_template_t tmpl_cmd_get_system_info_parameters_primary_operating_system_name_first_set_rs; 372 extern fiid_template_t tmpl_cmd_get_system_info_parameters_primary_operating_system_name_rs; 373 extern fiid_template_t tmpl_cmd_get_system_info_parameters_operating_system_name_first_set_rs; 374 extern fiid_template_t tmpl_cmd_get_system_info_parameters_operating_system_name_rs; 375 extern fiid_template_t tmpl_cmd_get_system_info_parameters_present_os_version_number_first_set_rs; 376 extern fiid_template_t tmpl_cmd_get_system_info_parameters_present_os_version_number_rs; 377 extern fiid_template_t tmpl_cmd_get_system_info_parameters_bmc_url_first_set_rs; 378 extern fiid_template_t tmpl_cmd_get_system_info_parameters_bmc_url_rs; 379 extern fiid_template_t tmpl_cmd_get_system_info_parameters_base_os_hypervisor_url_first_set_rs; 380 extern fiid_template_t tmpl_cmd_get_system_info_parameters_base_os_hypervisor_url_rs; 381 382 extern fiid_template_t tmpl_cmd_get_channel_cipher_suites_rq; 383 extern fiid_template_t tmpl_cmd_get_channel_cipher_suites_rs; 384 385 extern fiid_template_t tmpl_cmd_get_session_challenge_rq; 386 extern fiid_template_t tmpl_cmd_get_session_challenge_rs; 387 extern fiid_template_t tmpl_cmd_activate_session_rq; 388 extern fiid_template_t tmpl_cmd_activate_session_rs; 389 extern fiid_template_t tmpl_cmd_set_session_privilege_level_rq; 390 extern fiid_template_t tmpl_cmd_set_session_privilege_level_rs; 391 extern fiid_template_t tmpl_cmd_close_session_rq; 392 extern fiid_template_t tmpl_cmd_close_session_rs; 393 394 extern fiid_template_t tmpl_cmd_set_channel_access_rq; 395 extern fiid_template_t tmpl_cmd_set_channel_access_rs; 396 extern fiid_template_t tmpl_cmd_get_channel_access_rq; 397 extern fiid_template_t tmpl_cmd_get_channel_access_rs; 398 extern fiid_template_t tmpl_cmd_get_channel_info_rq; 399 extern fiid_template_t tmpl_cmd_get_channel_info_rs; 400 401 extern fiid_template_t tmpl_cmd_set_channel_security_keys_rq; 402 extern fiid_template_t tmpl_cmd_set_channel_security_keys_rs; 403 extern fiid_template_t tmpl_cmd_set_user_access_rq; 404 extern fiid_template_t tmpl_cmd_set_user_access_rs; 405 extern fiid_template_t tmpl_cmd_get_user_access_rq; 406 extern fiid_template_t tmpl_cmd_get_user_access_rs; 407 408 extern fiid_template_t tmpl_cmd_set_user_name_rq; 409 extern fiid_template_t tmpl_cmd_set_user_name_rs; 410 411 extern fiid_template_t tmpl_cmd_get_user_name_rq; 412 extern fiid_template_t tmpl_cmd_get_user_name_rs; 413 414 extern fiid_template_t tmpl_cmd_set_user_password_rq; 415 extern fiid_template_t tmpl_cmd_set_user_password_rs; 416 417 int fill_cmd_set_bmc_global_enables (uint8_t receive_message_queue_interrupt, 418 uint8_t event_message_buffer_full_interrupt, 419 uint8_t event_message_buffer, 420 uint8_t system_event_logging, 421 uint8_t oem_0, 422 uint8_t oem_1, 423 uint8_t oem_2, 424 fiid_obj_t obj_cmd_rq); 425 426 int fill_cmd_get_bmc_global_enables (fiid_obj_t obj_cmd_rq); 427 428 int fill_cmd_clear_message_flags (uint8_t receive_message_queue, 429 uint8_t event_message_buffer, 430 uint8_t watchdog_pre_timeout_interrupt_flag, 431 uint8_t oem_0, 432 uint8_t oem_1, 433 uint8_t oem_2, 434 fiid_obj_t obj_cmd_rq); 435 436 int fill_cmd_get_message_flags (fiid_obj_t obj_cmd_rq); 437 438 int fill_cmd_enable_message_channel_receive (uint8_t channel_number, 439 uint8_t channel_operation, 440 fiid_obj_t obj_cmd_rq); 441 442 int fill_cmd_get_message (fiid_obj_t obj_cmd_rq); 443 444 int fill_cmd_send_message (uint8_t channel_number, 445 uint8_t message_authentication, 446 uint8_t message_encryption, 447 uint8_t tracking_operation, 448 const void *message_data, 449 unsigned int message_data_len, 450 fiid_obj_t obj_cmd_rq); 451 452 int fill_cmd_read_event_message_buffer (fiid_obj_t obj_cmd_rq); 453 454 int fill_cmd_get_system_interface_capabilities (uint8_t system_interface, 455 fiid_obj_t obj_cmd_rq); 456 457 int fill_cmd_get_bt_interface_capabilities (fiid_obj_t obj_cmd_rq); 458 459 int fill_cmd_master_write_read (uint8_t bus_type, 460 uint8_t bus_id, 461 uint8_t channel_number, 462 uint8_t slave_address, 463 uint8_t read_count, 464 const void *data, 465 unsigned int data_len, 466 fiid_obj_t obj_cmd_rq); 467 468 int fill_cmd_get_channel_authentication_capabilities (uint8_t channel_number, 469 uint8_t maximum_privilege_level, 470 uint8_t get_ipmi_v20_extended_data, 471 fiid_obj_t obj_cmd_rq); 472 473 int fill_cmd_get_system_guid (fiid_obj_t obj_cmd_rq); 474 475 int fill_cmd_set_system_info_parameters (uint8_t parameter_selector, 476 const void *configuration_parameter_data, 477 unsigned int configuration_parameter_data_len, 478 fiid_obj_t obj_cmd_rq); 479 480 int fill_cmd_set_system_info_parameters_set_in_progress (uint8_t state, 481 fiid_obj_t obj_cmd_rq); 482 483 int fill_cmd_set_system_info_parameters_system_firmware_version_first_set (uint8_t set_selector, 484 uint8_t encoding, 485 uint8_t string_length, 486 const void *string_block, 487 unsigned int string_block_length, 488 fiid_obj_t obj_cmd_rq); 489 490 int fill_cmd_set_system_info_parameters_system_firmware_version (uint8_t set_selector, 491 const void *string_block, 492 unsigned int string_block_length, 493 fiid_obj_t obj_cmd_rq); 494 495 int fill_cmd_set_system_info_parameters_system_name_first_set (uint8_t set_selector, 496 uint8_t encoding, 497 uint8_t string_length, 498 const void *string_block, 499 unsigned int string_block_length, 500 fiid_obj_t obj_cmd_rq); 501 502 int fill_cmd_set_system_info_parameters_system_name (uint8_t set_selector, 503 const void *string_block, 504 unsigned int string_block_length, 505 fiid_obj_t obj_cmd_rq); 506 507 int fill_cmd_set_system_info_parameters_primary_operating_system_name_first_set (uint8_t set_selector, 508 uint8_t encoding, 509 uint8_t string_length, 510 const void *string_block, 511 unsigned int string_block_length, 512 fiid_obj_t obj_cmd_rq); 513 514 int fill_cmd_set_system_info_parameters_primary_operating_system_name (uint8_t set_selector, 515 const void *string_block, 516 unsigned int string_block_length, 517 fiid_obj_t obj_cmd_rq); 518 519 int fill_cmd_set_system_info_parameters_operating_system_name_first_set (uint8_t set_selector, 520 uint8_t encoding, 521 uint8_t string_length, 522 const void *string_block, 523 unsigned int string_block_length, 524 fiid_obj_t obj_cmd_rq); 525 526 int fill_cmd_set_system_info_parameters_operating_system_name (uint8_t set_selector, 527 const void *string_block, 528 unsigned int string_block_length, 529 fiid_obj_t obj_cmd_rq); 530 531 int fill_cmd_set_system_info_parameters_present_os_version_number_first_set (uint8_t set_selector, 532 uint8_t encoding, 533 uint8_t string_length, 534 const void *string_block, 535 unsigned int string_block_length, 536 fiid_obj_t obj_cmd_rq); 537 538 int fill_cmd_set_system_info_parameters_present_os_version_number (uint8_t set_selector, 539 const void *string_block, 540 unsigned int string_block_length, 541 fiid_obj_t obj_cmd_rq); 542 543 int fill_cmd_set_system_info_parameters_bmc_url_first_set (uint8_t set_selector, 544 uint8_t encoding, 545 uint8_t string_length, 546 const void *string_block, 547 unsigned int string_block_length, 548 fiid_obj_t obj_cmd_rq); 549 550 int fill_cmd_set_system_info_parameters_bmc_url (uint8_t set_selector, 551 const void *string_block, 552 unsigned int string_block_length, 553 fiid_obj_t obj_cmd_rq); 554 555 int fill_cmd_set_system_info_parameters_base_os_hypervisor_url_first_set (uint8_t set_selector, 556 uint8_t encoding, 557 uint8_t string_length, 558 const void *string_block, 559 unsigned int string_block_length, 560 fiid_obj_t obj_cmd_rq); 561 562 int fill_cmd_set_system_info_parameters_base_os_hypervisor_url (uint8_t set_selector, 563 const void *string_block, 564 unsigned int string_block_length, 565 fiid_obj_t obj_cmd_rq); 566 567 int fill_cmd_get_system_info_parameters (uint8_t get_parameter, 568 uint8_t parameter_selector, 569 uint8_t set_selector, 570 uint8_t block_selector, 571 fiid_obj_t obj_cmd_rq); 572 573 int fill_cmd_get_channel_cipher_suites (uint8_t channel_number, 574 uint8_t payload_type, 575 uint8_t list_index, 576 uint8_t list_algorithm_type, 577 fiid_obj_t obj_cmd_rq); 578 579 int fill_cmd_get_session_challenge (uint8_t authentication_type, 580 const char *user_name, 581 unsigned int user_name_len, 582 fiid_obj_t obj_cmd_rq); 583 584 int fill_cmd_activate_session (uint8_t authentication_type, 585 uint8_t maximum_privilege_level, 586 const void *challenge_string, 587 unsigned int challenge_string_len, 588 uint32_t initial_outbound_sequence_number, 589 fiid_obj_t obj_cmd_rq); 590 591 int fill_cmd_set_session_privilege_level (uint8_t privilege_level, 592 fiid_obj_t obj_cmd_rq); 593 594 int fill_cmd_close_session (uint32_t session_id, 595 uint8_t *session_handle, 596 fiid_obj_t obj_cmd_rq); 597 598 int fill_cmd_set_channel_access (uint8_t channel_number, 599 uint8_t ipmi_messaging_access_mode, 600 uint8_t user_level_authentication, 601 uint8_t per_message_authentication, 602 uint8_t pef_alerting, 603 uint8_t channel_access_set, 604 uint8_t channel_privilege_level_limit, 605 uint8_t channel_privilege_level_limit_set, 606 fiid_obj_t obj_cmd_rq); 607 608 int fill_cmd_get_channel_access (uint8_t channel_number, 609 uint8_t channel_access_get, 610 fiid_obj_t obj_cmd_rq); 611 612 int fill_cmd_get_channel_info (uint8_t channel_number, fiid_obj_t obj_cmd_rq); 613 614 int fill_cmd_set_channel_security_keys (uint8_t channel_number, 615 uint8_t operation, 616 uint8_t key_id, 617 const void *key_value, 618 unsigned int key_value_len, 619 fiid_obj_t obj_cmd_rq); 620 621 int fill_cmd_set_user_access (uint8_t channel_number, 622 uint8_t user_ipmi_messaging, 623 uint8_t user_link_authentication, 624 uint8_t user_restricted_to_callback, 625 uint8_t change_bits_in_byte, 626 uint8_t user_id, 627 uint8_t user_privilege_level_limit, 628 uint8_t user_session_limit, 629 fiid_obj_t obj_cmd_rq); 630 631 int fill_cmd_get_user_access (uint8_t channel_number, 632 uint8_t user_id, 633 fiid_obj_t obj_cmd_rq); 634 635 int fill_cmd_set_user_name (uint8_t user_id, 636 const char *user_name, 637 unsigned int user_name_len, 638 fiid_obj_t obj_cmd_rq); 639 640 int fill_cmd_get_user_name (uint8_t user_id, fiid_obj_t obj_cmd_rq); 641 642 int fill_cmd_set_user_password (uint8_t user_id, 643 uint8_t password_size, 644 uint8_t operation, 645 const char *password, 646 unsigned int password_len, 647 fiid_obj_t obj_cmd_rq); 648 649 650 #ifdef __cplusplus 651 } 652 #endif 653 654 #endif /* IPMI_MESSAGING_SUPPORT_CMDS_H */ 655