RedfishPkg/Include: Add Redfish IPMI definitions

Add the definitions of Redfish Host Interface
credential bootstrapping IPMI commands.

Signed-off-by: Nickle Wang <nicklew@nvidia.com>
Cc: Abner Chang <abner.chang@amd.com>
Cc: Igor Kulchytskyy <igork@ami.com>
Reviewed-by: Igor Kulchytskyy<igork@ami.com>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
This commit is contained in:
Abner Chang 2022-12-23 14:33:48 +08:00 committed by mergify[bot]
parent cabcc6851b
commit 663e70851c
1 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,51 @@
/** @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 <Uefi.h>
#include <IndustryStandard/IpmiNetFnGroupExtension.h>
#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