aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/wilc1000/fifo_buffer.h
blob: 7b76998e42388ae7f08c078432274eefeee7db52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <linux/types.h>
#include <linux/semaphore.h>
#include "wilc_memory.h"
#include "wilc_strutils.h"


#define tHANDLE	void *

typedef struct {
	u8		*pu8Buffer;
	u32 u32BufferLength;
	u32 u32WriteOffset;
	u32 u32ReadOffset;
	u32 u32TotalBytes;
	struct semaphore SemBuffer;
} tstrFifoHandler;


extern u32 FIFO_InitBuffer(tHANDLE *hBuffer,
								   u32 u32BufferLength);
extern u32 FIFO_DeInit(tHANDLE hFifo);
extern u32 FIFO_ReadBytes(tHANDLE hFifo, u8 *pu8Buffer,
				u32 u32BytesToRead, u32 *pu32BytesRead);
extern u32 FIFO_WriteBytes(tHANDLE hFifo, u8 *pu8Buffer,
				u32 u32BytesToWrite, bool bForceOverWrite);