#ifndef _BASEQUEUE_H_
|
#define _BASEQUEUE_H_
|
|
#include "HIDO_TypeDef.h"
|
|
typedef struct
|
{
|
HIDO_UINT32 m_u32UsedCnt;
|
HIDO_UINT32 m_u32Front;
|
HIDO_UINT32 m_u32Rear;
|
HIDO_UINT32 m_u32TotalCnt;
|
}HIDO_BaseQueueStruct;
|
|
typedef struct
|
{
|
HIDO_VOID *m_pAddr;
|
HIDO_UINT32 m_u32Len;
|
}HIDO_BaseQueueMemInfoStruct;
|
|
HIDO_INT32 HIDO_BaseQueueInit(HIDO_BaseQueueStruct *_pstBaseQ, HIDO_UINT32 _u32TotalCnt);
|
HIDO_INT32 HIDO_BaseQueueEnqueue(HIDO_BaseQueueStruct *_pstBaseQ, HIDO_UINT32 _u32EnqueueCnt);
|
HIDO_INT32 HIDO_BaseQueueDequeue(HIDO_BaseQueueStruct *_pstBaseQ, HIDO_UINT32 _u32DequeueCnt);
|
HIDO_BOOL HIDO_BaseQueueIsEmpty(HIDO_BaseQueueStruct *_pstBaseQ);
|
HIDO_BOOL HIDO_BaseQueueIsFull(HIDO_BaseQueueStruct *_pstBaseQ);
|
HIDO_INT32 HIDO_BaseQueueGetContinuousSize(HIDO_BaseQueueStruct *_pstBaseQ, HIDO_UINT32 _u32Size, HIDO_UINT32 *_pu32Offset, HIDO_UINT32 *_pu32TotalLen);
|
HIDO_UINT32 HIDO_BaseQueueGetFront(HIDO_BaseQueueStruct *_pstBaseQ);
|
HIDO_UINT32 HIDO_BaseQueueGetRear(HIDO_BaseQueueStruct *_pstBaseQ);
|
|
#endif /* _BASEQUEUE_H_ */
|