/** @file Redfish Host Interface IPMI command Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef REDFISH_HOST_INTERFACE_IPMI_H_ #define REDFISH_HOST_INTERFACE_IPMI_H_ #include #include #define REDFISH_IPMI_GROUP_EXTENSION 0x52 #define REDFISH_IPMI_GET_BOOTSTRAP_CREDENTIALS_CMD 0x02 #define REDFISH_IPMI_BOOTSTRAP_CREDENTIAL_ENABLE 0xA5 #define REDFISH_IPMI_BOOTSTRAP_CREDENTIAL_DISABLE 0x00 #define REDFISH_IPMI_COMP_CODE_BOOTSTRAP_CREDENTIAL_DISABLED 0x80 /// /// Per Redfish Host Interface Specification 1.3, The maximum length of /// username and password is 16 characters long. // #define USERNAME_MAX_LENGTH 16 #define PASSWORD_MAX_LENGTH 16 #define USERNAME_MAX_SIZE (USERNAME_MAX_LENGTH + 1) // NULL terminator #define PASSWORD_MAX_SIZE (PASSWORD_MAX_LENGTH + 1) // NULL terminator #pragma pack(1) /// /// The definition of IPMI command to get bootstrap account credentials /// typedef struct { UINT8 GroupExtensionId; UINT8 DisableBootstrapControl; } IPMI_BOOTSTRAP_CREDENTIALS_COMMAND_DATA; /// /// The response data of getting bootstrap credential /// typedef struct { UINT8 CompletionCode; UINT8 GroupExtensionId; CHAR8 Username[USERNAME_MAX_LENGTH]; CHAR8 Password[PASSWORD_MAX_LENGTH]; } IPMI_BOOTSTRAP_CREDENTIALS_RESULT_RESPONSE; #pragma pack() #endif