##### Synopsis

    #include <ctl_api.h>
    unsigned ctl_byte_queue_post(CTL_BYTE_QUEUE_t *m,
                                 unsigned char byte,
                                 CTL_TIMEOUT_t timeoutType,
                                 CTL_TIME_t timeout);

##### Description

The ctl_byte_queue_post function posts the byte to the byte queue pointed at by m. 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 the timeout value. This function returns zero if the timeout occured otherwise it returns one.

##### Restrictions

This function should not be called from an interrupt service routine.

##### Portability

ctl_byte_queue_post is provided in every implementation of the CrossWorks tasking library.

##### See Also

Byte queues