get data from the fifo
address of the fifo to be used
address where to store the data
This macro reads the data from the fifo.
It returns 0 if the fifo was empty. 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.