unsigned ctl_message_queue_receive_multi(CTL_MESSAGE_QUEUE_t *q,
                                         unsigned n,
                                         void **messages,
                                         CTL_TIMEOUT_t t,
                                         CTL_TIME_t timeout);

ctl_message_queue_receive_multi pops the oldest n messages in the message queue pointed to by q into the memory pointed to by message. ctl_message_queue_receive_multi will block until all the messages are available unless timeoutType is non-zero and the current time reaches the timeout value.

ctl_message_queue_receive_multi returns the number of messages that were received.


ctl_message_queue_receive_multi must not be called from an interrupt service routine.