mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-29 12:35:53 +01:00
52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
/** @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
|