| | |
| | | static inline buf_num_t FIFO_Length(fifo_t *pFifo) |
| | | { |
| | | #if FIFO_NEW_EN |
| | | if(pFifo->w < pFifo->r){ |
| | | return (buf_num_t)(pFifo->num + pFifo->w - pFifo->r); |
| | | } |
| | | return (buf_num_t)(pFifo->w - pFifo->r); |
| | | #else |
| | | return (buf_num_t)(pFifo->w - pFifo->r); |
| | |
| | | return NULL; |
| | | } |
| | | |
| | | pFifo->w++; |
| | | |
| | | #if FIFO_NEW_EN |
| | | pFifo->w = (++pFifo->w) % pFifo->num; |
| | | return pFifo->pBuf + pFifo->size * (pFifo->w % pFifo->num); |
| | | #else |
| | | pFifo->w++; |
| | | return pFifo->pBuf + pFifo->size * (pFifo->w & pFifo->numMask); |
| | | #endif |
| | | } |
| | |
| | | return NULL; |
| | | } |
| | | |
| | | pFifo->w--; |
| | | |
| | | #if FIFO_NEW_EN |
| | | pFifo->w = (--pFifo->w) % pFifo->num; |
| | | return pFifo->pBuf + pFifo->size * (pFifo->w % pFifo->num); |
| | | #else |
| | | pFifo->w--; |
| | | return pFifo->pBuf + pFifo->size * (pFifo->w & pFifo->numMask); |
| | | #endif |
| | | } |
| | |
| | | if(pFifo == NULL) |
| | | return; |
| | | |
| | | #if FIFO_NEW_EN |
| | | pFifo->w = (++pFifo->w) % pFifo->num; |
| | | #else |
| | | pFifo->w++; |
| | | #endif |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | static inline void FIFO_MoveToNextReadBuf(fifo_t *pFifo) |
| | | { |
| | | if(pFifo == NULL) |
| | | return; |
| | | |
| | | #if FIFO_NEW_EN |
| | | pFifo->r = (++pFifo->r) % pFifo->num; |
| | | #else |
| | | pFifo->r++; |
| | | #endif |
| | | } |
| | | |
| | | /** |