29#ifndef _LOS_QUEUE_PRI_H
30#define _LOS_QUEUE_PRI_H
51#define OS_QUEUE_OPERATE_TYPE(ReadOrWrite, HeadOrTail) (((UINT32)(HeadOrTail) << 1) | (ReadOrWrite))
52#define OS_QUEUE_READ_WRITE_GET(type) ((type) & 0x01U)
53#define OS_QUEUE_READ_HEAD (OS_QUEUE_READ | (OS_QUEUE_HEAD << 1))
54#define OS_QUEUE_READ_TAIL (OS_QUEUE_READ | (OS_QUEUE_TAIL << 1))
55#define OS_QUEUE_WRITE_HEAD (OS_QUEUE_WRITE | (OS_QUEUE_HEAD << 1))
56#define OS_QUEUE_WRITE_TAIL (OS_QUEUE_WRITE | (OS_QUEUE_TAIL << 1))
57#define OS_QUEUE_OPERATE_GET(type) ((type) & 0x03U)
58#define OS_QUEUE_IS_READ(type) (OS_QUEUE_READ_WRITE_GET(type) == OS_QUEUE_READ)
59#define OS_QUEUE_IS_WRITE(type) (OS_QUEUE_READ_WRITE_GET(type) == OS_QUEUE_WRITE)
62#define OS_QUEUE_ALLOC_DYNAMIC 0
63#define OS_QUEUE_ALLOC_STATIC 1
64#define OS_QUEUE_NORMAL 0
67#ifdef LOSCFG_BASE_CORE_SYS_RES_CHECK
68#define QUEUE_SPLIT_BIT 16
69#define SET_QUEUE_ID(count, queueId) (((count) << QUEUE_SPLIT_BIT) | (queueId))
70#define GET_QUEUE_INDEX(queueId) ((queueId) & ((1U << QUEUE_SPLIT_BIT) - 1))
71#define GET_QUEUE_COUNT(queueId) ((queueId) >> QUEUE_SPLIT_BIT)
73#define GET_QUEUE_INDEX(queueId) (queueId)
75#define GET_QUEUE_HANDLE(queueId) (((LosQueueCB *)g_osAllQueue) + GET_QUEUE_INDEX(queueId))
77#define GET_QUEUE_LIST(ptr) LOS_DL_LIST_ENTRY(ptr, LosQueueCB, readWriteList[OS_QUEUE_WRITE])
UINT32 OsQueueMailFree(UINT32 queueId, VOID *mailPool, VOID *mailMem)
LosQueueCB * g_osAllQueue
QueueHeadTail
Definition los_queue_pri.h:44
@ OS_QUEUE_TAIL
Definition los_queue_pri.h:46
@ OS_QUEUE_HEAD
Definition los_queue_pri.h:45
UINT32 QueueMsgHead
Definition los_queue_pri.h:49
QueueReadWrite
Definition los_queue_pri.h:38
@ OS_QUEUE_N_RW
Definition los_queue_pri.h:41
@ OS_QUEUE_WRITE
Definition los_queue_pri.h:40
@ OS_QUEUE_READ
Definition los_queue_pri.h:39
VOID * OsQueueMailAlloc(UINT32 queueId, VOID *mailPool, UINT32 timeout)
unsigned short UINT16
Definition los_typedef.h:51
#define VOID
Definition los_typedef.h:88
unsigned char UINT8
Definition los_typedef.h:50
unsigned int UINT32
Definition los_typedef.h:52
Definition los_queue_pri.h:80
UINT16 queueHead
Definition los_queue_pri.h:87
UINT8 queueState
Definition los_queue_pri.h:82
UINT16 queueLen
Definition los_queue_pri.h:84
UINT16 queueTail
Definition los_queue_pri.h:88
UINT32 queueId
Definition los_queue_pri.h:86
LOS_DL_LIST memList
Definition los_queue_pri.h:91
UINT16 queueSize
Definition los_queue_pri.h:85
UINT8 * queueHandle
Definition los_queue_pri.h:81
UINT8 queueMemType
Definition los_queue_pri.h:83