unsigned ctl_byte_queue_receive_multi(CTL_BYTE_QUEUE_t *q,
                                      unsigned n,
                                      unsigned char *b,
                                      CTL_TIMEOUT_t t,
                                      CTL_TIME_t timeout);

ctl_byte_queue_receive_multi pops the oldest n bytes in the byte queue pointed to by q into the memory pointed at by b. ctl_byte_queue_receive_multi will block until the number of bytes are available unless timeoutType is non-zero and the current time reaches the timeout value.

ctl_byte_queue_receive_multi returns the number of bytes that have been received.


ctl_byte_queue_receive_multi must not be called from an interrupt service routine.