#ifndef PLATFORM_OEM_IBM_H | |
#define PLATFORM_OEM_IBM_H | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
#include "base.h" | |
#include <stddef.h> | |
#include <stdint.h> | |
enum pldm_event_types_ibm_oem { | |
PLDM_EVENT_TYPE_OEM_EVENT_BIOS_ATTRIBUTE_UPDATE = 0xF0, | |
}; | |
/** @struct pldm_bios_attribute_update_event_req | |
* | |
* Structure representing PlatformEventMessage command request data for OEM | |
* event type BIOS attribute update. | |
*/ | |
struct pldm_bios_attribute_update_event_req { | |
uint8_t format_version; | |
uint8_t tid; | |
uint8_t event_class; | |
uint8_t num_handles; | |
uint8_t bios_attribute_handles[1]; | |
} __attribute__((packed)); | |
/** @brief Encode PlatformEventMessage request data for BIOS attribute update | |
* | |
* @param[in] instance_id - Message's instance id | |
* @param[in] format_version - Version of the event format | |
* @param[in] tid - Terminus ID for the terminus that originated the event | |
* message | |
* @param[in] num_handles - Number of BIOS handles with an update | |
* @param[in] list_of_handles - Pointer to the list of BIOS attribute handles | |
* @param[in] payload_length - Length of request message payload | |
* @param[out] msg - Message will be written to this | |
* | |
* @return pldm_completion_codes | |
* | |
* @note Caller is responsible for memory alloc and dealloc of param | |
* 'msg.payload' | |
*/ | |
int encode_bios_attribute_update_event_req(uint8_t instance_id, | |
uint8_t format_version, uint8_t tid, | |
uint8_t num_handles, | |
const uint8_t *list_of_handles, | |
size_t payload_length, | |
struct pldm_msg *msg); | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif /* PLATFORM_OEM_IBM_H */ |