]> cvs.zerfleddert.de Git - rsbs2/blob - bmc/ipmb.h
start implementing power/reset handling as needed on PCs
[rsbs2] / bmc / ipmb.h
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
9 #define IPMB_STORAGE_GET_SEL_INFO 0x40
10 #define IPMB_STORAGE_GET_SEL_TIME 0x48
11
12 #define IPMB_NETFN_CHASSIS 0x00
13 #define IPMB_NETFN_BRIDGE 0x02
14 #define IPMB_NETFN_SENSOR_EVENT 0x04
15 #define IPMB_NETFN_APP 0x06
16 #define IPMB_NETFN_FIRMWARE 0x08
17 #define IPMB_NETFN_STORAGE 0x0a
18
19 #define IPMB_CC_NORMALLY 0x00
20 #define IPMB_CC_BUSY 0xc0
21 #define IPMB_CC_INVALID 0xc1
22 #define IPMB_CC_ERROR 0xff
23
24 /* ipmb1010ltd.pdf page 27 (33) */
25 struct ipmb_req {
26 uint8_t rsSA;
27 uint8_t netFn;
28 uint8_t rsLUN;
29 uint8_t rqSA;
30 uint8_t rqSEQ;
31 uint8_t rqLUN;
32 uint8_t cmd;
33 unsigned char *data;
34 uint8_t datalen;
35 };
36
37 struct ipmb_resp {
38 uint8_t rqSA;
39 uint8_t netFn;
40 uint8_t rqLUN;
41 uint8_t rsSA;
42 uint8_t rqSEQ;
43 uint8_t rsLUN;
44 uint8_t cmd;
45 unsigned char *data;
46 uint8_t datalen;
47 };
48
49 void decode_ipmb_pkt(unsigned char *buf, int len);
Impressum, Datenschutz