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