#ifndef __WILC_MSG_QUEUE_H__ #define __WILC_MSG_QUEUE_H__ #include #include struct message { void *buf; u32 len; struct list_head list; }; struct message_queue { struct semaphore sem; spinlock_t lock; bool exiting; u32 recv_count; struct list_head msg_list; }; int wilc_mq_create(struct message_queue *mq); int wilc_mq_send(struct message_queue *mq, const void *send_buf, u32 send_buf_size); int wilc_mq_recv(struct message_queue *mq, void *recv_buf, u32 recv_buf_size, u32 *recv_len); int wilc_mq_destroy(struct message_queue *mq); #endif