blob: 8c47e8d5a9198b7bc3f27fa44bd01659adacf806 [file] [log] [blame]
Lei YU6505e9d2020-09-21 17:34:32 +08001#pragma once
Lei YU17bc93d2020-09-23 19:55:07 +08002#include <array>
Lei YU8a454c52020-09-23 16:52:46 +08003#include <cstdint>
Lei YU17bc93d2020-09-23 19:55:07 +08004#include <string_view>
5
6namespace inspur
7{
Lei YU6505e9d2020-09-21 17:34:32 +08008
9enum ipmi_inspur_net_fns
10{
11 NETFN_OEM_INSPUR = 0x3c,
12};
13
14enum inspur_oem_cmds
15{
16 CMD_OEM_ASSET_INFO = 0x01,
17};
Lei YU8a454c52020-09-23 16:52:46 +080018
19struct AssetInfoHeader
20{
21 uint8_t rwFlag;
22 uint8_t deviceType;
23 uint8_t infoType;
24 uint8_t maskAllPresentLen;
25 uint8_t enableStatus;
26 uint8_t maskPresent;
27 uint8_t maskAllPresent;
28 uint8_t allInfoDone;
29 uint16_t totalMessageLen;
30} __attribute__((packed));
Lei YU17bc93d2020-09-23 19:55:07 +080031
32enum class bios_version_devname
33{
34 BIOS = 0,
35 ME = 1,
36 IE = 2,
37 PCH = 3,
38 BOARD = 4,
39 MRC = 5,
40 CUSTOM_ID = 6,
41 PCH_STEPPING = 7,
42};
43
44constexpr std::array<std::string_view, 8> bios_devname{
45 "BIOS", "ME", "IE", "PCH", "BOARD", "MRC", "CUSTOM_ID", "PCH_STEPPING",
46};
47
48} // namespace inspur