12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef _FIFO_H_
- #define _FIFO_H_
- #include "salof_defconfig.h"
- #ifdef SALOF_USING_LOG
- #define FIFO_READ 0
- #define FIFO_WRITE 1
- #define FIFO_MAX(a,b) (((a) > (b)) ? (a) : (b))
- #define FIFO_MIN(a,b) (((a) < (b)) ? (a) : (b))
- struct salof_fifo {
- unsigned int size;
- unsigned int in;
- unsigned int out;
- salof_mutex mutex;
- salof_sem sem;
- void *buff;
- };
- typedef struct salof_fifo * salof_fifo_t;
- salof_fifo_t salof_fifo_create(unsigned int size);
- unsigned int salof_fifo_write(salof_fifo_t fifo, void *buff, unsigned int len, unsigned int timeout);
- unsigned int salof_fifo_read(salof_fifo_t fifo, void *buff, unsigned int len, unsigned int timeout);
- unsigned int salof_fifo_read_able(salof_fifo_t fifo);
- unsigned int salof_fifo_write_able(salof_fifo_t fifo);
- #endif
- #endif // !_FIFO_H_
|