29#ifndef _LOS_RWSEM_PRI_H
30#define _LOS_RWSEM_PRI_H
39#define RWSEM_COUNT_MAX 0xFFFF
40#if (LOSCFG_BASE_IPC_RWSEM_LIMIT < 0) || (LOSCFG_BASE_IPC_RWSEM_LIMIT > RWSEM_COUNT_MAX)
41#error "LOSCFG_BASE_IPC_RWSEM_LIMIT config error!"
54#define GET_RWSEM_LIST(ptr) LOS_DL_LIST_ENTRY(ptr, OsRwsemCB, waitList)
56#ifdef LOSCFG_BASE_CORE_SYS_RES_CHECK
57#define RWSEM_SPLIT_BIT 16
58#define SET_RWSEM_ID(count, rwsemId) (((count) << RWSEM_SPLIT_BIT) | (rwsemId))
59#define GET_RWSEM_INDEX(rwsemId) ((rwsemId) & ((1U << RWSEM_SPLIT_BIT) - 1))
60#define GET_RWSEM_COUNT(rwsemId) ((rwsemId) >> RWSEM_SPLIT_BIT)
62#define GET_RWSEM_INDEX(rwsemId) (rwsemId)
65#define GET_RWSEM(rwsemId) (g_osAllRwsem + GET_RWSEM_INDEX(rwsemId))
RwsemState
Definition los_rwsem_pri.h:67
@ RWSEM_INITIAL
Definition los_rwsem_pri.h:69
@ RWSEM_WRITING
Definition los_rwsem_pri.h:68
@ RWSEM_READING
Definition los_rwsem_pri.h:70
RwsemWaitType
Definition los_rwsem_pri.h:73
@ RWSEM_WRITE
Definition los_rwsem_pri.h:75
@ RWSEM_READ
Definition los_rwsem_pri.h:74
signed short INT16
Definition los_typedef.h:54
#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_rwsem_pri.h:44
UINT8 rwsemState
Definition los_rwsem_pri.h:45
UINT32 rwsemId
Definition los_rwsem_pri.h:47
LOS_DL_LIST waitList
Definition los_rwsem_pri.h:48
INT16 rwsemCount
Definition los_rwsem_pri.h:46