chen
2025-05-15 67ca69985af9109a0603a1cde71f21b940c059ff
keil/include/components/hido/Include/HIDO_VLQueue.h
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
#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);
/* ä¿®æ”¹æˆå‘˜ç”¨å¤§å°ï¼Œåªèƒ½å°†æˆå‘˜å˜å°ï¼Œä¸èƒ½å˜å¤§ */
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_ */