The Enqueue operation takes as parameters a queue and a data byte; its function is to add the data to the queue. If the queue is full then Enqueue should return an error (0). Thus, reliable use of the Enqueue operation may require repeated calls. The Dequeue operation is similar but the operation removes a data byte from the queue. As with Enqueue, Dequeue returns an indicator of success and reliable operation may require multiple calls