put data into the fifo
address of the fifo to be used
the data to be added
This macro copies the given value into the fifo.
It returns 0 if the fifo was full. Otherwise it returns the number
Note that with only one concurrent reader and one concurrent
writer, you don't need extra locking to use these macro.