]> git.zerfleddert.de Git - rsbs2/blame - bmc/ipmb.h
implement all remaining IPMB queries seen on the wire
[rsbs2] / bmc / ipmb.h
CommitLineData
da7751cb
MG
1#define IPMB_APP_GET_DEVICE_ID 0x01
2#define IPMB_APP_GET_WATCHDOG_TIMER 0x25
3
4#define IPMB_CHASSIS_GET_STATUS 0x01
5#define IPMB_CHASSIS_CONTROL 0x02
6
7#define IPMB_SE_PLATFORM_EVENT 0x02
8
67a9a9e8
MG
9#define IPMB_STORAGE_RESERVE_SDR 0x22
10#define IPMB_STORAGE_GET_SDR 0x23
da7751cb 11#define IPMB_STORAGE_GET_SEL_INFO 0x40
67a9a9e8
MG
12#define IPMB_STORAGE_GET_SEL_ALLOCATION 0x41
13#define IPMB_STORAGE_GET_SEL_ENTRY 0x43
da7751cb
MG
14#define IPMB_STORAGE_GET_SEL_TIME 0x48
15
16#define IPMB_NETFN_CHASSIS 0x00
17#define IPMB_NETFN_BRIDGE 0x02
18#define IPMB_NETFN_SENSOR_EVENT 0x04
19#define IPMB_NETFN_APP 0x06
20#define IPMB_NETFN_FIRMWARE 0x08
21#define IPMB_NETFN_STORAGE 0x0a
22
23#define IPMB_CC_NORMALLY 0x00
24#define IPMB_CC_BUSY 0xc0
25#define IPMB_CC_INVALID 0xc1
26#define IPMB_CC_ERROR 0xff
27
28/* ipmb1010ltd.pdf page 27 (33) */
d5193055
MG
29struct ipmb_req {
30 uint8_t rsSA;
31 uint8_t netFn;
32 uint8_t rsLUN;
33 uint8_t rqSA;
34 uint8_t rqSEQ;
35 uint8_t rqLUN;
36 uint8_t cmd;
37 unsigned char *data;
38 uint8_t datalen;
39};
40
da7751cb
MG
41struct ipmb_resp {
42 uint8_t rqSA;
43 uint8_t netFn;
44 uint8_t rqLUN;
45 uint8_t rsSA;
46 uint8_t rqSEQ;
47 uint8_t rsLUN;
48 uint8_t cmd;
da7751cb
MG
49};
50
d5193055 51void decode_ipmb_pkt(unsigned char *buf, int len);
Impressum, Datenschutz