blob: 00b05b7b474912928d6ddbc0d8058147cb7f0c6b [file] [log] [blame]
Matt Johnstonbde874e2024-11-05 16:03:51 +08001#pragma once
2
3#include <stdint.h>
4#include <stdbool.h>
5#include <string.h>
6
7#include <libpldm/pldm.h>
8#include <libpldm/utils.h>
9#include <compiler.h>
10#include <msgbuf.h>
11
12#ifndef PLDM_CONTROL_MAX_VERSION_TYPES
13#define PLDM_CONTROL_MAX_VERSION_TYPES 6
14#endif
15
16struct pldm_type_versions {
17 /* A buffer of ver32_t/uint32_t of version values, followed by crc32 */
18 /* NULL for unused entries */
19 const void *versions;
20 /* Includes the trailing crc32 entry */
21 uint8_t versions_count;
22
23 /* A buffer of 32 entries, for commands 0-0xff */
24 const bitfield8_t *commands;
25
26 uint8_t pldm_type;
27};
28
29struct pldm_control {
30 struct pldm_type_versions types[PLDM_CONTROL_MAX_VERSION_TYPES];
31};