#ifndef _VLQUEUE_H_
|
#define _VLQUEUE_H_
|
|
#include "HIDO_TypeDef.h"
|
#include "HIDO_BaseQueue.h"
|
|
typedef struct
|
{
|
HIDO_BaseQueueMemInfoStruct m_stLenMemInfo;
|
HIDO_BaseQueueMemInfoStruct m_stDataMemInfo;
|
HIDO_BaseQueueStruct m_stLenQueue;
|
HIDO_BaseQueueStruct m_stDataQueue;
|
}HIDO_VLQStruct;
|
|
typedef struct
|
{
|
HIDO_VOID *m_pDataAddr;
|
HIDO_UINT32 m_u32DataLen;
|
HIDO_UINT32 m_u32TotalLen;
|
}HIDO_VLQMemberStruct;
|
|
/* »ñȡ׼±¸Èë¶Ó³ÉÔ± */
|
HIDO_VLQMemberStruct *HIDO_VLQGetEnqueueMember(HIDO_VLQStruct *_pstVLQ, HIDO_UINT32 _u32DataSize);
|
|
/* Ð޸ijÉÔ±ÓôóС£¬Ö»Äܽ«³ÉÔ±±äС£¬²»Äܱä´ó */
|
HIDO_INT32 HIDO_VLQModfiyMemberSize(HIDO_VLQMemberStruct *_pstVLQMember, HIDO_UINT32 _u32NewSize);
|
|
/* Èë¶Ó */
|
HIDO_INT32 HIDO_VLQEnqueue(HIDO_VLQStruct *_pstVLQ, HIDO_VLQMemberStruct *_pstVLQMember);
|
|
/* »ñÈ¡¼´½«³ö¶ÓµÄ³ÉÔ± */
|
HIDO_VLQMemberStruct *HIDO_VLQGetDequeueMember(HIDO_VLQStruct *_pstVLQ);
|
|
/* ³ö¶Ó */
|
HIDO_INT32 HIDO_VLQDequeue(HIDO_VLQStruct *_pstVLQ, HIDO_VLQMemberStruct *_pstVLQMember);
|
|
/* ±ä³¤¶ÓÁгõʼ»¯ */
|
HIDO_INT32 HIDO_VLQInit(HIDO_VLQStruct *_pstVLQ, HIDO_VOID *_pQBuf, HIDO_UINT32 _u32QBufSize, HIDO_UINT32 _u32LenInfoCnt);
|
|
#endif /* _VLQUEUE_H_ */
|