blob: 6e0005ab2fb572a69ebb5cefbc0a0fa3fe748a62 [file] [log] [blame]
Lei YU6505e9d2020-09-21 17:34:32 +08001#pragma once
Lei YUebd3d092020-09-27 18:11:48 +08002
Lei YU17bc93d2020-09-23 19:55:07 +08003#include <array>
Lei YU8a454c52020-09-23 16:52:46 +08004#include <cstdint>
Lei YU17bc93d2020-09-23 19:55:07 +08005#include <string_view>
6
George Liua3a9d2a2024-04-03 09:30:45 +08007namespace iei
Lei YU17bc93d2020-09-23 19:55:07 +08008{
Lei YU6505e9d2020-09-21 17:34:32 +08009
George Liua3a9d2a2024-04-03 09:30:45 +080010enum ipmi_iei_net_fns
Lei YU6505e9d2020-09-21 17:34:32 +080011{
George Liua3a9d2a2024-04-03 09:30:45 +080012 NETFN_OEM_IEI = 0x3c,
Lei YU6505e9d2020-09-21 17:34:32 +080013};
14
George Liua3a9d2a2024-04-03 09:30:45 +080015enum iei_oem_cmds
Lei YU6505e9d2020-09-21 17:34:32 +080016{
17 CMD_OEM_ASSET_INFO = 0x01,
18};
Lei YU8a454c52020-09-23 16:52:46 +080019
20struct AssetInfoHeader
21{
22 uint8_t rwFlag;
23 uint8_t deviceType;
24 uint8_t infoType;
25 uint8_t maskAllPresentLen;
26 uint8_t enableStatus;
27 uint8_t maskPresent;
28 uint8_t maskAllPresent;
29 uint8_t allInfoDone;
30 uint16_t totalMessageLen;
31} __attribute__((packed));
Lei YU17bc93d2020-09-23 19:55:07 +080032
33enum class bios_version_devname
34{
35 BIOS = 0,
36 ME = 1,
37 IE = 2,
38 PCH = 3,
39 BOARD = 4,
40 MRC = 5,
41 CUSTOM_ID = 6,
42 PCH_STEPPING = 7,
43};
44
45constexpr std::array<std::string_view, 8> bios_devname{
46 "BIOS", "ME", "IE", "PCH", "BOARD", "MRC", "CUSTOM_ID", "PCH_STEPPING",
47};
48
George Liua3a9d2a2024-04-03 09:30:45 +080049} // namespace iei