Files
mips/src/fifo.h
T
jens a655e1c5d9 - use build in data types
git-svn-id: http://moon:8086/svn/mips@35 a8ebac50-d88d-4704-bea3-6648445a41b3
2015-05-28 19:19:01 +00:00

33 lines
1.0 KiB
C

#ifndef FIFO_H
#define FIFO_H
// ---------------------------------------------------------
// Constants
// ---------------------------------------------------------
#define FIFO_BLOCK 1
#define FIFO_NONBLOCK 0
// ---------------------------------------------------------
// Types
// ---------------------------------------------------------
typedef struct _sfifo_t
{
uint32_t size;
uint8_t *pBuf;
uint8_t * volatile pPtr_wr, * volatile pPtr_rd;
} fifo_t;
// ---------------------------------------------------------
// Functions
// ---------------------------------------------------------
uint32_t fifo_alloc(fifo_t *pObj, uint32_t size);
uint32_t fifo_free(fifo_t *pObj);
uint32_t fifo_flush(fifo_t *pObj);
uint32_t fifo_is_full(fifo_t *pObj);
uint32_t fifo_is_empty(fifo_t *pObj);
uint32_t fifo_read(fifo_t *pObj, uint8_t *pData, uint32_t size, uint32_t timeout, uint32_t do_block);
uint32_t fifo_write(fifo_t *pObj, uint8_t *pData, uint32_t size, uint32_t timeout, uint32_t do_block);
#endif // FIFO_H