29 #ifdef CONFIG_MAILBOX_MULTI
34 struct mailbox *(*mailbox_init)(uint32_t index);
36 int32_t (*
mailbox_send)(
struct mailbox *mailbox, uint32_t data, TickType_t waittime);
37 int32_t (*
mailbox_recv)(
struct mailbox *mailbox, uint32_t *data, TickType_t waittime);
58 #ifdef CONFIG_INSTANCE_NAME
64 #ifdef CONFIG_MAILBOX_THREAD_SAVE
70 #ifdef CONFIG_MAILBOX_MULTI
74 const struct mailbox_ops *ops;
77 #ifndef CONFIG_MAILBOX_MULTI
97 int32_t
mailbox_send(
struct mailbox *mailbox, uint32_t data, TickType_t waittime);
105 int32_t
mailbox_recv(
struct mailbox *mailbox, uint32_t *data, TickType_t waittime);
127 return p->ops->mailbox_init(index);
131 return p->ops->mailbox_deinit(mailbox);
133 inline int32_t
mailbox_send(
struct mailbox *mailbox, uint32_t data, TickType_t waittime) {
135 return p->ops->mailbox_send(mailbox, data, waittime);
137 inline int32_t
mailbox_recv(
struct mailbox *mailbox, uint32_t *data, TickType_t waittime) {
139 return p->ops->mailbox_recv(mailbox, data, waittime);
141 inline int32_t
mailbox_sendISR(
struct mailbox *mailbox, uint32_t data) {
143 return p->ops->mailbox_sendISR(mailbox, data);
145 inline int32_t
mailbox_recvISR(
struct mailbox *mailbox, uint32_t *data) {
147 return p->ops->mailbox_recvISR(mailbox, data);