Lines Matching defs:sender
29 int camkes_msgqueue_sender_init(int msgqueue_id, camkes_msgqueue_sender_t *sender)
31 if (!sender) {
32 ZF_LOGE("sender is NULL");
36 if (sender->initialised) {
42 ZF_LOGE("Failed to retrieve an initialised sender channel with ID %d", msgqueue_id);
51 int error = camkes_virtqueue_driver_init_common(&sender->sender_channel, msgqueue_channel->buffer,
59 sender->message_size = msgqueue_channel->message_size;
60 sender->initialised = true;
96 static void *msgqueue_alloc_buffer(camkes_msgqueue_sender_t *sender)
106 if (virtqueue_get_used_buf(&sender->sender_channel, &handle, &len)) {
107 error = camkes_virtqueue_driver_gather_buffer(&sender->sender_channel, &handle,
114 error = camkes_virtqueue_buffer_alloc(&sender->sender_channel, &ret_buffer, sender->message_size);
122 int camkes_msgqueue_send(camkes_msgqueue_sender_t *sender, void *message, size_t message_size)
124 if (!sender || !message) {
128 if (!sender->initialised) {
132 if (message_size > sender->message_size) {
138 void *msgqueue_buf = msgqueue_alloc_buffer(sender);
147 int error = camkes_virtqueue_driver_send_buffer(&sender->sender_channel, msgqueue_buf, message_size);
150 camkes_virtqueue_buffer_free(&sender->sender_channel, msgqueue_buf);
154 sender->sender_channel.notify();