chen
2024-09-20 292ed46c6066d47289f1330b1c2bcc6d74761f95
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
27
28
29
#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_ */