signedchar*pcHead;/*< Points to the beginning of the queue storage area. */
signedchar*pcTail;/*< Points to the byte at the end of the queue storage area. Once more byte is allocated than necessary to store the queue items, this is used as a marker. */
signedchar*pcWriteTo;/*< Points to the free next place in the storage area. */
union/* Use of a union is an exception to the coding standard to ensure two mutually exclusive structure members don't appear simultaneously (wasting RAM). */
{
signedchar*pcReadFrom;/*< Points to the last place that a queued item was read from when the structure is used as a queue. */
unsignedportBASE_TYPEuxRecursiveCallCount;/*< Maintains a count of the numebr of times a recursive mutex has been recursively 'taken' when the structure is used as a mutex. */
unsignedportBASE_TYPEuxRecursiveCallCount;/*< Maintains a count of the number of times a recursive mutex has been recursively 'taken' when the structure is used as a mutex. */
}u;
xListxTasksWaitingToSend;/*< List of tasks that are blocked waiting to post onto this queue. Stored in priority order. */