blob: 7b76998e42388ae7f08c078432274eefeee7db52 [file] [log] [blame]
Johnny Kimc5c77ba2015-05-11 14:30:56 +09001
Dean Leec3ea8a72015-06-16 15:28:21 +09002#include <linux/types.h>
3#include <linux/semaphore.h>
4#include "wilc_memory.h"
5#include "wilc_strutils.h"
Johnny Kimc5c77ba2015-05-11 14:30:56 +09006
7
8#define tHANDLE void *
9
10typedef struct {
Greg Kroah-Hartman63d03e42015-06-02 14:16:04 +090011 u8 *pu8Buffer;
Chaehyun Lim4e4467f2015-06-11 14:35:55 +090012 u32 u32BufferLength;
13 u32 u32WriteOffset;
14 u32 u32ReadOffset;
15 u32 u32TotalBytes;
Arnd Bergmann83383ea2015-06-01 21:06:43 +020016 struct semaphore SemBuffer;
Johnny Kimc5c77ba2015-05-11 14:30:56 +090017} tstrFifoHandler;
18
19
Chaehyun Lim4e4467f2015-06-11 14:35:55 +090020extern u32 FIFO_InitBuffer(tHANDLE *hBuffer,
21 u32 u32BufferLength);
22extern u32 FIFO_DeInit(tHANDLE hFifo);
23extern u32 FIFO_ReadBytes(tHANDLE hFifo, u8 *pu8Buffer,
24 u32 u32BytesToRead, u32 *pu32BytesRead);
25extern u32 FIFO_WriteBytes(tHANDLE hFifo, u8 *pu8Buffer,
Dean Lee72ed4dc2015-06-12 14:11:44 +090026 u32 u32BytesToWrite, bool bForceOverWrite);