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

ctl_byte_queue_post_multi posts n bytes to the byte queue pointed to by q. The caller will block until the bytes can be posted or, if timeoutType is non-zero, the current time reaches timeout value.

ctl_byte_queue_post_multi returns the number of bytes that were posted.


ctl_byte_queue_post_multi must not be called from an interrupt service routine.

ctl_byte_queue_post_multi does not guarantee that the bytes will be all be posted to the byte queue atomically. If you have multiple tasks posting (multiple bytes) to the same byte queue then you may get unexpected results.