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

ctl_byte_queue_post posts b to the byte queue pointed to by q. If the byte queue is full then the caller will block until the byte can be posted or, if timeoutType is non-zero, the current time reaches timeout value.

ctl_byte_queue_post returns zero if the timeout occurred otherwise it returns one.


ctl_byte_queue_post must not be called from an interrupt service routine.