33#define MONITOR_THREAD_STACK_SIZE 1024
35#define PLDM_MAX_DATA_SIZE_DEFAULT 512
37#ifndef PLDM_MAX_DATA_SIZE
38#define PLDM_MAX_DATA_SIZE PLDM_MAX_DATA_SIZE_DEFAULT
40typedef uint8_t (*
pldm_cmd_proc_fn)(
void *, uint8_t *, uint16_t, uint8_t, uint8_t *, uint16_t *,
83 uint8_t resp_comp_code;
pldm_resp_hdr
Definition: pldm.h:84
pldm_t * pldm_init(void *interface, uint8_t user_idx)
PLDM_TYPE
Definition: pldm.h:43
@ PLDM_TYPE_BASE
Definition: pldm.h:44
@ PLDM_TYPE_OEM
Definition: pldm.h:49
@ PLDM_TYPE_SMBIOS
Definition: pldm.h:45
@ PLDM_TYPE_PLAT_MON_CTRL
Definition: pldm.h:46
@ PLDM_TYPE_BIOS_CTRL_CONF
Definition: pldm.h:47
@ PLDM_TYPE_FW_UPDATE
Definition: pldm.h:48
uint8_t get_supported_pldm_commands(PLDM_TYPE type, uint8_t *buf, uint8_t buf_size)
Definition: pldm.c:519
uint8_t(* pldm_cmd_proc_fn)(void *, uint8_t *, uint16_t, uint8_t, uint8_t *, uint16_t *, void *)
Definition: pldm.h:40
int pldm_send_ipmi_request(ipmi_msg *msg)
Definition: pldm.c:607
#define MONITOR_THREAD_STACK_SIZE
Definition: pldm.h:33
pldm_hdr
Definition: pldm.h:79
uint8_t cmd
Definition: pldm.h:2
int pldm_send_ipmi_response(uint8_t interface, ipmi_msg *msg)
Definition: pldm.c:554
PLDM_MESSAGE_TYPE
Definition: pldm.h:52
@ PLDM_REQUEST
Definition: pldm.h:54
@ PLDM_RESPONSE
Definition: pldm.h:53
uint16_t mctp_pldm_read(void *mctp_p, pldm_msg *msg, uint8_t *rbuf, uint16_t rbuf_len)
Definition: pldm.c:161
uint8_t mctp_pldm_send_msg(void *mctp_p, pldm_msg *msg)
Definition: pldm.c:409
struct __attribute__((packed))
Definition: pldm.h:62
uint8_t mctp_pldm_cmd_handler(void *mctp_p, uint8_t *buf, uint32_t len, mctp_ext_params ext_params)
Definition: pldm.c:332
uint8_t get_supported_pldm_type(uint8_t *buf, uint8_t buf_size)
Get the supported PLDM types.
Definition: pldm.c:495
struct _pldm_cmd_handler pldm_cmd_handler
struct _pldm_msg pldm_msg
uint8_t type
Definition: pldm_base.h:0
Definition: pldm_smbios.h:61
uint8_t cmd_code
Definition: pldm.h:58
pldm_cmd_proc_fn fn
Definition: pldm.h:59
uint8_t completion_code
Definition: pldm.h:123
uint8_t netfn_lun
Definition: pldm.h:124
uint8_t ipmi_comp_code
Definition: pldm.h:126
uint8_t first_data
Definition: pldm.h:127
uint8_t cmd
Definition: pldm.h:125
void * recv_resp_cb_args
Definition: pldm.h:92
void(* recv_resp_cb_fn)(void *, uint8_t *, uint16_t)
Definition: pldm.h:91
uint8_t * buf
Definition: pldm.h:88
uint16_t timeout_ms
Definition: pldm.h:93
pldm_hdr hdr
Definition: pldm.h:87
uint16_t len
Definition: pldm.h:89
mctp_ext_params ext_params
Definition: pldm.h:90
void * timeout_cb_fn_args
Definition: pldm.h:95
void(* timeout_cb_fn)(void *)
Definition: pldm.h:94
void * interface
Definition: pldm.h:112
struct k_mutex wait_recv_resp_list_mutex
Definition: pldm.h:106
k_tid_t monitor_task
Definition: pldm.h:100
sys_slist_t wait_send_resp_list
Definition: pldm.h:109
struct k_mutex wait_send_resp_list_mutex
Definition: pldm.h:110
struct k_thread thread_data
Definition: pldm.h:101
uint8_t user_idx
Definition: pldm.h:113
sys_slist_t wait_recv_resp_list
Definition: pldm.h:105
K_KERNEL_STACK_MEMBER(monitor_thread_stack, MONITOR_THREAD_STACK_SIZE)
uint8_t * ptr
Definition: pldm.h:118
size_t length
Definition: pldm.h:119