fifo.h 489 B

1234567891011121314151617181920212223242526272829
  1. #ifndef __FIFO_H__
  2. #define __FIFO_H__
  3. #include <stdbool.h>
  4. #include <stdint.h>
  5. /*!
  6. * FIFO
  7. */
  8. typedef struct sFifo
  9. {
  10. uint16_t Begin;
  11. uint16_t End;
  12. uint16_t *Data;
  13. uint16_t Size;
  14. }tFifo;
  15. void FifoInit( tFifo *fifo, uint16_t *buffer, uint16_t size );
  16. void FifoPush( tFifo *fifo, uint16_t data );
  17. uint16_t FifoPop( tFifo *fifo );
  18. void FifoFlush( tFifo *fifo );
  19. bool IsFifoEmpty( tFifo *fifo );
  20. bool IsFifoFull( tFifo *fifo );
  21. #endif // __FIFO_H__