OpenBIC
OpenSource Bridge-IC
pldm_monitor.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef _PLDM_MONITOR_H
18#define _PLDM_MONITOR_H
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#include "pldm.h"
25#include "pdr.h"
26
27/* command number of pldm type 0x02 : PLDM for platform monitor and control */
39
40/* define size of request */
41#define PLDM_GET_SENSOR_READING_REQ_BYTES 3
42#define PLDM_SET_STATE_EFFECTER_REQ_NO_STATE_FIELD_BYTES 3
43
44/* Define size of response */
45#define PLDM_GET_STATE_EFFECTER_RESP_NO_STATE_FIELD_BYTES 2
46
47/* The maximum event data size of event type currently support, ipmi event 16 bytes */
48#define PLDM_MONITOR_EVENT_DATA_SIZE_MAX 16
49/* The default maximum event message number in the queue */
50#define PLDM_MONITOR_EVENT_QUEUE_MSG_NUM_MAX_DEFAULT 10
51#define PLDM_MONITOR_SENSOR_SUPPORT_MAX 0xFF
52#define PLDM_MONITOR_SENSOR_EVENT_SENSOR_OP_STATE_DATA_LENGTH 2
53#define PLDM_MONITOR_SENSOR_EVENT_STATE_SENSOR_STATE_DATA_LENGTH 3
54#define PLDM_MONITOR_SENSOR_EVENT_NUMERIC_SENSOR_STATE_MIN_DATA_LENGTH 4
55#define PLDM_MONITOR_SENSOR_EVENT_NUMERIC_SENSOR_STATE_MAX_DATA_LENGTH 7
56
57#define PLDM_MONITOR_SENSOR_DATA_SIZE_INT8 1
58#define PLDM_MONITOR_SENSOR_DATA_SIZE_INT16 2
59#define PLDM_MONITOR_SENSOR_DATA_SIZE_INT32 4
60
61#define PLDM_PLATFORM_OEM_GPIO_EFFECTER_STATE_FIELD_COUNT 2
62#define PLDM_PLATFORM_OEM_HOST_POWER_CTRL_EFFECTER_STATE_FIELD_COUNT 1
63#define PLDM_PLATFORM_OEM_I3C_HUB_REINIT_EFFECTER_STATE_FIELD_COUNT 1
64#define PLDM_PLATFORM_OEM_SPI_REINIT_EFFECTER_STATE_FIELD_COUNT 1
65#define PLDM_PLATFORM_OEM_SWITCH_UART_EFFECTER_STATE_FIELD_COUNT 1
66#define PLDM_PLATFORM_OEM_AST1030_GPIO_PIN_NUM_MAX 167
67
68#define PLDM_COMPOSITE_EFFECTER_COUNT_MIN 0x01
69#define PLDM_COMPOSITE_EFFECTER_COUNT_MAX 0x08
70#define PLDM_COMPOSITE_EFFECTER_COUNT_ADDSEL 0x03
71#define PLDM_ADDSEL_ASSERT_MASK 0x80
72#define PLDM_ADDSEL_DEASSERT_MASK 0x7F
73
82
93};
94
106
111};
112
118};
119
126
136
140};
141
145};
146
160
168
170 /* GetStateSensorReadings */
173
174 /* SetEventReceiver */
178
179 /* SetStateEffecterStates, GetStateEffecterStates */
183
184};
185
187 /* SetStateEffecterStates, GetStateEffecterStates */
191};
192
193/* Define from Platform Level Data Model (PLDM) State
194Set Specification (DSP0249) Table 15 – Entity ID codes*/
200};
201
202/* Y = (mX + b) * 10^r */
203typedef struct _pldm_sensor_pdr_parm {
204 int64_t resolution; // from PDR (m)
205 int64_t ofst; // from PDR (b)
206 int8_t unit_modifier; // from PDR (r)
208
210 uint16_t sensor_id;
212} __attribute__((packed));
213
221 uint8_t event_state;
222 uint8_t present_reading[1];
223} __attribute__((packed));
224
234
240
242
251
258
260 uint8_t op_state;
262} __attribute__((packed));
263
265 uint16_t sensor_ofst;
266 uint8_t event_state;
268} __attribute__((packed));
269
271 uint8_t event_state;
274 uint8_t reading[1];
275} __attribute__((packed));
276
279 uint8_t tid;
280 uint8_t event_class;
283} __attribute__((packed));
284
288} __attribute__((packed));
289
291 uint16_t sensor_id;
294} __attribute__((packed));
295
298 uint8_t event_state;
300} __attribute__((packed));
301
303 uint8_t event_state;
306 uint8_t present_reading[1];
307} __attribute__((packed));
308
312} __attribute__((packed));
313
315 uint16_t effecter_id;
318} __attribute__((packed));
319
323} __attribute__((packed));
324
330} __attribute__((packed));
331
334} __attribute__((packed));
335
337 uint8_t set_request;
339} __attribute__((packed)) set_effecter_state_field_t;
340
345} __attribute__((packed)) get_effecter_state_field_t;
346
348 uint16_t effecter_id;
350 set_effecter_state_field_t field[8];
351} __attribute__((packed));
352
354 uint16_t effecter_id;
355} __attribute__((packed));
356
360 get_effecter_state_field_t field[8];
361} __attribute__((packed));
362
365} __attribute__((packed));
366
370} __attribute__((packed));
371
376 uint8_t event_state;
377} __attribute__((packed)) state_sensor_reading_state_field_t;
378
380 uint16_t sensor_id;
382 uint8_t rsv;
383} __attribute__((packed));
384
388 state_sensor_reading_state_field_t field[8];
389} __attribute__((packed));
390
396};
397
404} __attribute__((packed));
405
413 //uint8_t transferCRC;
414} __attribute__((packed));
415
421 uint32_t record_count;
425} __attribute__((packed));
426
428 uint16_t entity_type;
429 uint16_t effecter_id;
430};
431
434};
435
438};
439
441
442uint8_t pldm_monitor_handler_query(uint8_t code, void **ret_fn);
443
444uint8_t pldm_platform_event_message_req(void *mctp_inst, mctp_ext_params ext_params,
445 uint8_t event_class, const uint8_t *event_data,
446 uint8_t event_data_length);
447
448uint16_t pldm_platform_monitor_read(void *mctp_inst, mctp_ext_params ext_params,
450 uint16_t req_len, uint8_t *rbuf, uint16_t rbuf_len);
451
452uint8_t pldm_send_platform_event(uint8_t event_class, uint16_t id, uint8_t ext_class,
453 const uint8_t *event_data, uint8_t event_data_length);
454
455void set_effecter_state_gpio_handler(const uint8_t *buf, uint16_t len, uint8_t *resp,
456 uint16_t *resp_len, uint8_t gpio_pin);
457
458void get_effecter_state_gpio_handler(const uint8_t *buf, uint16_t len, uint8_t *resp,
459 uint16_t *resp_len, uint8_t gpio_pin);
460
461void pldm_spi_reinit(const char *spi_dev_str, const uint8_t *buf, uint16_t len, uint8_t *resp,
462 uint16_t *resp_len);
463
464uint8_t plat_pldm_set_state_effecter_state_handler(const uint8_t *buf, uint16_t len, uint8_t *resp,
465 uint16_t *resp_len,
466 struct pldm_state_effecter_info *info_p);
467
468uint8_t plat_pldm_get_state_effecter_state_handler(const uint8_t *buf, uint16_t len, uint8_t *resp,
469 uint16_t *resp_len,
470 struct pldm_state_effecter_info *info_p);
471
472void plat_pldm_set_effecter_state_host_power_control(const uint8_t *buf, uint16_t len,
473 uint8_t *resp, uint16_t *resp_len);
474
475void plat_pldm_set_effecter_state_reinit_i3c_hub(const uint8_t *buf, uint16_t len, uint8_t *resp,
476 uint16_t *resp_len);
477
479
480void pldm_load_state_effecter_table(uint16_t state_effecter_index);
481
483
485
486uint8_t pldm_event_len_check(uint8_t *buf, uint16_t len);
487float pldm_sensor_cal(uint8_t *buf, uint8_t len, pldm_sensor_readings_data_type_t data_type,
490 void *mctp_inst, mctp_ext_params ext_params);
492 uint8_t device_type, uint8_t board_info, uint8_t event_type);
493
494#ifdef __cplusplus
495}
496#endif
497
498#endif /* _PLDM_MONITOR_H */
uint8_t cmd
Definition: isl69259.c:1
#define NUMERIC_PDR_SIZE
Definition: pdr.h:34
#define TIMESTAMP104_SIZE
Definition: pdr.h:26
void plat_pldm_load_state_effecter_table()
Definition: pldm_monitor.c:1035
void plat_pldm_set_effecter_state_reinit_i3c_hub(const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len)
Definition: plat_pldm_monitor.c:346
oem_effecter_states_gpio_direction
Definition: pldm_monitor.h:113
@ EFFECTER_STATE_GPIO_DIRECTION_MAX
Definition: pldm_monitor.h:117
@ EFFECTER_STATE_GPIO_DIRECTION_UNKNOWN
Definition: pldm_monitor.h:114
@ EFFECTER_STATE_GPIO_DIRECTION_INPUT
Definition: pldm_monitor.h:115
@ EFFECTER_STATE_GPIO_DIRECTION_OUTPUT
Definition: pldm_monitor.h:116
enum pldm_platform_monitor_commands pldm_platform_monitor_commands_t
pldm_platform_completion_codes
Definition: pldm_monitor.h:169
@ PLDM_PLATFORM_ENABLE_METHOD_NOT_SUPPORTED
Definition: pldm_monitor.h:176
@ PLDM_PLATFORM_UNSUPPORTED_EFFECTERSTATE
Definition: pldm_monitor.h:182
@ PLDM_PLATFORM_INVALID_STATE_VALUE
Definition: pldm_monitor.h:181
@ PLDM_PLATFORM_INVALID_EFFECTER_ID
Definition: pldm_monitor.h:180
@ PLDM_PLATFORM_INVALID_SENSOR_ID
Definition: pldm_monitor.h:171
@ PLDM_PLATFORM_HEARTBEAT_FREQUENCY_TOO_HIGH
Definition: pldm_monitor.h:177
@ PLDM_PLATFORM_REARM_UNAVAILABLE_IN_PRESENT_STATE
Definition: pldm_monitor.h:172
@ PLDM_PLATFORM_INVALID_PROTOCOL_TYPE
Definition: pldm_monitor.h:175
pldm_effecter_id_high_byte
Definition: pldm_monitor.h:432
@ PLDM_EFFECTER_ID_FUNC_HIGH_BYTE
Definition: pldm_monitor.h:433
uint16_t effecter_id
Definition: pldm_monitor.h:0
pldm_event_message_global_enable
Definition: pldm_monitor.h:252
@ PLDM_EVENT_MESSAGE_GLOBAL_ENABLE_ASYNC
Definition: pldm_monitor.h:254
@ PLDM_EVENT_MESSAGE_GLOBAL_ENABLE_POLLING
Definition: pldm_monitor.h:255
@ PLDM_EVENT_MESSAGE_GLOBAL_ENABLE_ASYNC_KEEP_ALIVE
Definition: pldm_monitor.h:256
@ PLDM_EVENT_MESSAGE_GLOBAL_DISABLE
Definition: pldm_monitor.h:253
enum pldm_effecter_event_class pldm_effecter_event_class_t
void plat_pldm_set_effecter_state_host_power_control(const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len)
Definition: pldm_monitor.c:998
enum pldm_event_types __attribute__
void set_effecter_state_gpio_handler(const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len, uint8_t gpio_pin)
Definition: pldm_monitor.c:642
pldm_sensor_operational_state
Definition: pldm_monitor.h:83
@ PLDM_SENSOR_UNAVAILABLE
Definition: pldm_monitor.h:86
@ PLDM_SENSOR_SHUTTINGDOWN
Definition: pldm_monitor.h:90
@ PLDM_SENSOR_OPEN_CIRCUIT
Definition: pldm_monitor.h:92
@ PLDM_SENSOR_FAILED
Definition: pldm_monitor.h:88
@ PLDM_SENSOR_INTEST
Definition: pldm_monitor.h:91
@ PLDM_SENSOR_ENABLED
Definition: pldm_monitor.h:84
@ PLDM_SENSOR_DISABLED
Definition: pldm_monitor.h:85
@ PLDM_SENSOR_INITIALIZING
Definition: pldm_monitor.h:89
@ PLDM_SENSOR_STATUSUNKOWN
Definition: pldm_monitor.h:87
set_request
Definition: pldm_monitor.h:107
@ PLDM_SET_REQUEST_MAX
Definition: pldm_monitor.h:110
@ PLDM_REQUEST_SET
Definition: pldm_monitor.h:109
@ PLDM_NO_CHANGE
Definition: pldm_monitor.h:108
pldm_effecter_operational_state
Definition: pldm_monitor.h:95
@ PLDM_EFFECTER_STATUSUNKNOWN
Definition: pldm_monitor.h:100
@ PLDM_EFFECTER_DISABLED
Definition: pldm_monitor.h:98
@ PLDM_EFFECTER_SHUTTINGDOWN
Definition: pldm_monitor.h:103
@ PLDM_EFFECTER_INTEST
Definition: pldm_monitor.h:104
@ PLDM_EFFECTER_INITIALIZING
Definition: pldm_monitor.h:102
@ PLDM_EFFECTER_ENABLED_UPDATEPENDING
Definition: pldm_monitor.h:96
@ PLDM_EFFECTER_FAILED
Definition: pldm_monitor.h:101
@ PLDM_EFFECTER_UNAVAILABLE
Definition: pldm_monitor.h:99
@ PLDM_EFFECTER_ENABLED_NOUPDATEPENDING
Definition: pldm_monitor.h:97
pldm_oem_platform_completion_codes
Definition: pldm_monitor.h:186
@ PLDM_OEM_GPIO_EFFECTER_INVALID_SET_VALUE
Definition: pldm_monitor.h:189
@ PLDM_OEM_GPIO_EFFECTER_VALUE_UNKNOWN
Definition: pldm_monitor.h:190
@ PLDM_OEM_GPIO_UNSUPPORT_RANGE
Definition: pldm_monitor.h:188
uint16_t pldm_platform_monitor_read(void *mctp_inst, mctp_ext_params ext_params, pldm_platform_monitor_commands_t cmd, uint8_t *req, uint16_t req_len, uint8_t *rbuf, uint16_t rbuf_len)
Definition: pldm_monitor.c:237
pldm_platform_monitor_commands
Definition: pldm_monitor.h:28
@ PLDM_MONITOR_CMD_CODE_GET_SENSOR_READING
Definition: pldm_monitor.h:29
@ PLDM_MONITOR_CMD_CODE_SET_EVENT_RECEIVER
Definition: pldm_monitor.h:31
@ PLDM_MONITOR_CMD_CODE_GET_STATE_SENSOR_READING
Definition: pldm_monitor.h:30
@ PLDM_MONITOR_CMD_CODE_EVENT_MESSAGE_BUFF_SIZE
Definition: pldm_monitor.h:33
@ PLDM_MONITOR_CMD_CODE_GET_PDR_INFO
Definition: pldm_monitor.h:36
@ PLDM_MONITOR_CMD_CODE_PLATFORM_EVENT_MESSAGE
Definition: pldm_monitor.h:32
@ PLDM_MONITOR_CMD_CODE_SET_STATE_EFFECTER_STATES
Definition: pldm_monitor.h:34
@ PLDM_MONITOR_CMD_CODE_GET_PDR
Definition: pldm_monitor.h:37
@ PLDM_MONITOR_CMD_CODE_GET_STATE_EFFECTER_STATES
Definition: pldm_monitor.h:35
float pldm_sensor_cal(uint8_t *buf, uint8_t len, pldm_sensor_readings_data_type_t data_type, pldm_sensor_pdr_parm parm)
Definition: pldm_monitor.c:79
pldm_sensor_event_class
Definition: pldm_monitor.h:235
@ PLDM_SENSOR_OP_STATE
Definition: pldm_monitor.h:236
@ PLDM_NUMERIC_SENSOR_STATE
Definition: pldm_monitor.h:238
@ PLDM_STATE_SENSOR_STATE
Definition: pldm_monitor.h:237
uint8_t pldm_send_set_state_effecter_states_req(struct pldm_set_state_effecter_states_req *req, void *mctp_inst, mctp_ext_params ext_params)
Definition: pldm_monitor.c:1067
uint8_t pldm_fill_addsel_req(struct pldm_set_state_effecter_states_req *req, uint16_t effecter_id, uint8_t device_type, uint8_t board_info, uint8_t event_type)
Definition: pldm_monitor.c:1050
pldm_effecter_event_class
Definition: pldm_monitor.h:241
@ PLDM_EFFECTER_OP_STATE
Definition: pldm_monitor.h:241
void get_effecter_state_gpio_handler(const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len, uint8_t gpio_pin)
Definition: pldm_monitor.c:829
pldm_event_types
Definition: pldm_monitor.h:225
@ PLDM_EFFECTER_EVENT
Definition: pldm_monitor.h:227
@ PLDM_SENSOR_EVENT
Definition: pldm_monitor.h:226
@ PLDM_MESSAGE_POLL_EVENT
Definition: pldm_monitor.h:231
@ PLDM_REDFISH_TASK_EXECUTED_EVENT
Definition: pldm_monitor.h:228
@ PLDM_REDFISH_MESSAGE_EVENT
Definition: pldm_monitor.h:229
@ PLDM_HEARTBEAT_TIMER_ELAPSED_EVENT
Definition: pldm_monitor.h:232
@ PLDM_PDR_REPOSITORY_CHG_EVENT
Definition: pldm_monitor.h:230
pldm_effecter_id_low_byte
Definition: pldm_monitor.h:436
@ PLDM_EFFECTER_ID_ADDSEL_LOW_BYTE
Definition: pldm_monitor.h:437
struct pldm_state_effecter_info * find_state_effecter_info(uint16_t effecter_id)
Definition: pldm_monitor.c:1040
oem_effecter_states_reinit_i3c_hub
Definition: pldm_monitor.h:137
@ EFFECTER_STATE_I3C_HUB_REINIT
Definition: pldm_monitor.h:138
@ EFFECTER_STATE_I3C_HUB_MAX
Definition: pldm_monitor.h:139
oem_effecter_states_gpio_value
Definition: pldm_monitor.h:120
@ EFFECTER_STATE_GPIO_VALUE_UNKNOWN
Definition: pldm_monitor.h:121
@ EFFECTER_STATE_GPIO_VALUE_HIGH
Definition: pldm_monitor.h:123
@ EFFECTER_STATE_GPIO_VALUE_LOW
Definition: pldm_monitor.h:122
@ EFFECTER_STATE_GPIO_VALUE_MAX
Definition: pldm_monitor.h:124
uint8_t pldm_platform_event_message_req(void *mctp_inst, mctp_ext_params ext_params, uint8_t event_class, const uint8_t *event_data, uint8_t event_data_length)
Definition: pldm_monitor.c:355
struct pldm_state_effecter_info * state_effecter_table
Definition: pldm_monitor.c:57
pldm_sensor_event_message_enable
Definition: pldm_monitor.h:161
@ PLDM_STATE_EVENTS_ONLY_ENABLED
Definition: pldm_monitor.h:166
@ PLDM_EVENTS_ENABLED
Definition: pldm_monitor.h:164
@ PLDM_EVENTS_DISABLED
Definition: pldm_monitor.h:163
@ PLDM_OP_EVENTS_ONLY_ENABLED
Definition: pldm_monitor.h:165
@ PLDM_NO_EVENT_GENERATION
Definition: pldm_monitor.h:162
void pldm_spi_reinit(const char *spi_dev_str, const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len)
Definition: pldm_monitor.c:708
pldm_sensor_readings_data_type
Definition: pldm_monitor.h:74
@ PLDM_SENSOR_DATA_SIZE_SINT32
Definition: pldm_monitor.h:80
@ PLDM_SENSOR_DATA_SIZE_UINT8
Definition: pldm_monitor.h:75
@ PLDM_SENSOR_DATA_SIZE_SINT16
Definition: pldm_monitor.h:78
@ PLDM_SENSOR_DATA_SIZE_UINT16
Definition: pldm_monitor.h:77
@ PLDM_SENSOR_DATA_SIZE_SINT8
Definition: pldm_monitor.h:76
@ PLDM_SENSOR_DATA_SIZE_UINT32
Definition: pldm_monitor.h:79
uint8_t plat_pldm_get_state_effecter_state_handler(const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len, struct pldm_state_effecter_info *info_p)
Definition: pldm_monitor.c:775
enum pldm_sensor_event_class pldm_sensor_event_class_t
void pldm_assign_gpio_effecter_id()
struct _pldm_sensor_pdr_parm pldm_sensor_pdr_parm
uint8_t pldm_event_len_check(uint8_t *buf, uint16_t len)
PLDM event length check function.
Definition: pldm_monitor.c:568
oem_effecter_states_reinit_spi
Definition: pldm_monitor.h:142
@ EFFECTER_STATE_SPI_REINIT
Definition: pldm_monitor.h:143
@ EFFECTER_STATE_SPI_REINIT_MAX
Definition: pldm_monitor.h:144
enum pldm_sensor_readings_data_type pldm_sensor_readings_data_type_t
uint8_t event_class
Definition: pldm_monitor.h:2
uint8_t pldm_monitor_handler_query(uint8_t code, void **ret_fn)
Definition: pldm_monitor.c:979
uint8_t event_data[PLDM_MONITOR_EVENT_DATA_SIZE_MAX]
Definition: pldm_monitor.h:3
oem_effecter_states_power_status
Definition: pldm_monitor.h:127
@ EFFECTER_STATE_POWER_STATUS_OFF
Definition: pldm_monitor.h:130
@ EFFECTER_STATE_POWER_STATUS_CYCLE
Definition: pldm_monitor.h:131
@ EFFECTER_STATE_POWER_STATUS_UNKNOWN
Definition: pldm_monitor.h:128
@ EFFECTER_STATE_POWER_STATUS_GRACEFUL_SHUTDOWN
Definition: pldm_monitor.h:133
@ EFFECTER_STATE_POWER_STATUS_RESET
Definition: pldm_monitor.h:132
@ EFFECTER_STATE_POWER_STATUS_ON
Definition: pldm_monitor.h:129
@ EFFECTER_STATE_POWER_STATUS_MAX
Definition: pldm_monitor.h:134
pldm_get_pdr_transfer_flag
Definition: pldm_monitor.h:391
@ PLDM_TRANSFER_FLAG_START
Definition: pldm_monitor.h:392
@ PLDM_TRANSFER_FLAG_MIDDLE
Definition: pldm_monitor.h:393
@ PLDM_TRANSFER_FLAG_START_AND_END
Definition: pldm_monitor.h:395
@ PLDM_TRANSFER_FLAG_END
Definition: pldm_monitor.h:394
uint8_t pldm_send_platform_event(uint8_t event_class, uint16_t id, uint8_t ext_class, const uint8_t *event_data, uint8_t event_data_length)
Definition: pldm_monitor.c:473
#define PLDM_MONITOR_EVENT_DATA_SIZE_MAX
Definition: pldm_monitor.h:48
pldm_sensor_present_state
Definition: pldm_monitor.h:147
@ PLDM_SENSOR_LOWERFATAL
Definition: pldm_monitor.h:155
@ PLDM_SENSOR_UPPERCRITICAL
Definition: pldm_monitor.h:157
@ PLDM_SENSOR_UPPERWARNING
Definition: pldm_monitor.h:156
@ PLDM_SENSOR_UNKNOWN
Definition: pldm_monitor.h:148
@ PLDM_SENSOR_UPPERFATAL
Definition: pldm_monitor.h:158
@ PLDM_SENSOR_FATAL
Definition: pldm_monitor.h:152
@ PLDM_SENSOR_LOWERCRITICAL
Definition: pldm_monitor.h:154
@ PLDM_SENSOR_CRITICAL
Definition: pldm_monitor.h:151
@ PLDM_SENSOR_LOWERWARNING
Definition: pldm_monitor.h:153
@ PLDM_SENSOR_WARNING
Definition: pldm_monitor.h:150
@ PLDM_SENSOR_NORMAL
Definition: pldm_monitor.h:149
pldm_platform_event_status
Definition: pldm_monitor.h:243
@ PLDM_EVENT_LOGGED
Definition: pldm_monitor.h:248
@ PLDM_EVENT_NO_LOGGING
Definition: pldm_monitor.h:244
@ PLDM_EVENT_LOG_FULL
Definition: pldm_monitor.h:246
@ PLDM_EVENT_LOGGING_REJECTED
Definition: pldm_monitor.h:249
@ PLDM_EVENT_ACCEPTED_FOR_LOGGING
Definition: pldm_monitor.h:247
@ PLDM_EVENT_LOGGING_DISABLED
Definition: pldm_monitor.h:245
pldm_entity_types
Definition: pldm_monitor.h:195
@ PLDM_ENTITY_OTHER_BUS
Definition: pldm_monitor.h:199
@ PLDM_ENTITY_IO_CONTROLLER
Definition: pldm_monitor.h:198
@ PLDM_ENTITY_DEVICE_DRIVER
Definition: pldm_monitor.h:196
@ PLDM_ENTITY_SUB_CHASSIS
Definition: pldm_monitor.h:197
void pldm_load_state_effecter_table(uint16_t state_effecter_index)
Definition: pldm_monitor.c:1021
uint8_t plat_pldm_set_state_effecter_state_handler(const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len, struct pldm_state_effecter_info *info_p)
Definition: pldm_monitor.c:758
event_type
Definition: plat_event.h:32
Definition: mctp.h:103
Definition: pldm_monitor.h:203
int64_t ofst
Definition: pldm_monitor.h:205
int8_t unit_modifier
Definition: pldm_monitor.h:206
int64_t resolution
Definition: pldm_monitor.h:204
Definition: pldm_monitor.h:314
uint16_t effecter_id
Definition: pldm_monitor.h:315
uint8_t event_class_data[1]
Definition: pldm_monitor.h:317
uint8_t effecter_event_class
Definition: pldm_monitor.h:316
Definition: pldm_monitor.h:320
uint8_t present_op_state
Definition: pldm_monitor.h:321
uint8_t previous_op_state
Definition: pldm_monitor.h:322
Definition: pldm_monitor.h:363
uint16_t event_receiver_max_buffer_size
Definition: pldm_monitor.h:364
Definition: pldm_monitor.h:367
uint8_t completion_code
Definition: pldm_monitor.h:368
uint16_t term_max_buff_size
Definition: pldm_monitor.h:369
Definition: pldm_monitor.h:416
uint32_t record_count
Definition: pldm_monitor.h:421
uint32_t largest_record_size
Definition: pldm_monitor.h:423
uint8_t update_time[TIMESTAMP104_SIZE]
Definition: pldm_monitor.h:419
uint32_t repository_size
Definition: pldm_monitor.h:422
uint8_t data_transfer_handle_timeout
Definition: pldm_monitor.h:424
uint8_t repository_state
Definition: pldm_monitor.h:418
uint8_t completion_code
Definition: pldm_monitor.h:417
uint8_t oem_update_time[TIMESTAMP104_SIZE]
Definition: pldm_monitor.h:420
Definition: pldm_monitor.h:398
uint16_t record_change_number
Definition: pldm_monitor.h:403
uint16_t request_count
Definition: pldm_monitor.h:402
uint32_t data_transfer_handle
Definition: pldm_monitor.h:400
uint8_t transfer_operation_flag
Definition: pldm_monitor.h:401
uint32_t record_handle
Definition: pldm_monitor.h:399
Definition: pldm_monitor.h:406
uint8_t completion_code
Definition: pldm_monitor.h:407
uint32_t next_data_transfer_handle
Definition: pldm_monitor.h:409
uint8_t record_data[NUMERIC_PDR_SIZE]
Definition: pldm_monitor.h:412
uint32_t next_record_handle
Definition: pldm_monitor.h:408
uint8_t transfer_flag
Definition: pldm_monitor.h:410
uint16_t response_count
Definition: pldm_monitor.h:411
Definition: pldm_monitor.h:209
uint16_t sensor_id
Definition: pldm_monitor.h:210
uint8_t rearm_event_state
Definition: pldm_monitor.h:211
Definition: pldm_monitor.h:214
uint8_t previous_state
Definition: pldm_monitor.h:220
uint8_t sensor_event_message_enable
Definition: pldm_monitor.h:218
uint8_t completion_code
Definition: pldm_monitor.h:215
uint8_t present_reading[1]
Definition: pldm_monitor.h:222
uint8_t sensor_operational_state
Definition: pldm_monitor.h:217
uint8_t present_state
Definition: pldm_monitor.h:219
uint8_t event_state
Definition: pldm_monitor.h:221
uint8_t sensor_data_size
Definition: pldm_monitor.h:216
Definition: pldm_monitor.h:353
uint16_t effecter_id
Definition: pldm_monitor.h:354
Definition: pldm_monitor.h:357
uint8_t composite_effecter_count
Definition: pldm_monitor.h:359
get_effecter_state_field_t field[8]
Definition: pldm_monitor.h:360
uint8_t completion_code
Definition: pldm_monitor.h:358
Definition: pldm_monitor.h:379
uint8_t rsv
Definition: pldm_monitor.h:382
uint8_t sensor_rearm
Definition: pldm_monitor.h:381
uint16_t sensor_id
Definition: pldm_monitor.h:380
Definition: pldm_monitor.h:385
uint8_t composite_sensor_count
Definition: pldm_monitor.h:387
state_sensor_reading_state_field_t field[8]
Definition: pldm_monitor.h:388
uint8_t completion_code
Definition: pldm_monitor.h:386
Definition: pldm_monitor.h:277
uint8_t tid
Definition: pldm_monitor.h:279
uint32_t event_timestamp
Definition: pldm_monitor.h:282
uint8_t event_class
Definition: pldm_monitor.h:280
uint8_t event_data[PLDM_MONITOR_EVENT_DATA_SIZE_MAX]
Definition: pldm_monitor.h:281
uint8_t format_version
Definition: pldm_monitor.h:278
Definition: pldm_monitor.h:285
uint8_t platform_event_status
Definition: pldm_monitor.h:287
uint8_t completion_code
Definition: pldm_monitor.h:286
Definition: pldm_monitor.h:290
uint16_t sensor_id
Definition: pldm_monitor.h:291
uint8_t sensor_event_class_type
Definition: pldm_monitor.h:292
uint8_t event_class_data[]
Definition: pldm_monitor.h:293
Definition: pldm_monitor.h:270
uint8_t event_state
Definition: pldm_monitor.h:271
uint8_t pre_event_state
Definition: pldm_monitor.h:272
uint8_t reading[1]
Definition: pldm_monitor.h:274
uint8_t sensor_data_size
Definition: pldm_monitor.h:273
Definition: pldm_monitor.h:302
uint8_t previous_event_state
Definition: pldm_monitor.h:304
uint8_t sensor_data_size
Definition: pldm_monitor.h:305
uint8_t event_state
Definition: pldm_monitor.h:303
uint8_t present_reading[1]
Definition: pldm_monitor.h:306
Definition: pldm_monitor.h:259
uint8_t pre_op_state
Definition: pldm_monitor.h:261
uint8_t op_state
Definition: pldm_monitor.h:260
Definition: pldm_monitor.h:309
uint8_t previous_op_state
Definition: pldm_monitor.h:311
uint8_t present_op_state
Definition: pldm_monitor.h:310
Definition: pldm_monitor.h:264
uint16_t sensor_ofst
Definition: pldm_monitor.h:265
uint8_t event_state
Definition: pldm_monitor.h:266
uint8_t pre_event_state
Definition: pldm_monitor.h:267
Definition: pldm_monitor.h:296
uint8_t sensor_offset
Definition: pldm_monitor.h:297
uint8_t event_state
Definition: pldm_monitor.h:298
uint8_t previous_event_state
Definition: pldm_monitor.h:299
Definition: pldm_monitor.h:325
uint8_t event_message_global_enable
Definition: pldm_monitor.h:326
uint16_t heartbeat_timer
Definition: pldm_monitor.h:329
uint8_t event_receiver_address_info
Definition: pldm_monitor.h:328
uint8_t transport_protocol_type
Definition: pldm_monitor.h:327
Definition: pldm_monitor.h:332
uint8_t completion_code
Definition: pldm_monitor.h:333
Definition: pldm_monitor.h:347
uint16_t effecter_id
Definition: pldm_monitor.h:348
uint8_t composite_effecter_count
Definition: pldm_monitor.h:349
set_effecter_state_field_t field[8]
Definition: pldm_monitor.h:350
Definition: pldm_monitor.h:427
uint16_t entity_type
Definition: pldm_monitor.h:428
uint16_t effecter_id
Definition: pldm_monitor.h:429
Definition: pldm_monitor.h:341
uint8_t effecter_op_state
Definition: pldm_monitor.h:342
uint8_t present_state
Definition: pldm_monitor.h:344
uint8_t pending_state
Definition: pldm_monitor.h:343
Definition: pldm_monitor.h:336
uint8_t set_request
Definition: pldm_monitor.h:337
uint8_t effecter_state
Definition: pldm_monitor.h:338
Definition: pldm_monitor.h:372
uint8_t sensor_op_state
Definition: pldm_monitor.h:373
uint8_t previous_state
Definition: pldm_monitor.h:375
uint8_t event_state
Definition: pldm_monitor.h:376
uint8_t present_state
Definition: pldm_monitor.h:374