66 #define __ESOS_CB_FLUSH(pstCB) (pstCB)->u16_Count = 0
67 #define __ESOS_CB_IS_EMPTY(pstCB) ((pstCB)->u16_Count == 0)
68 #define __ESOS_CB_IS_NOT_EMPTY(pstCB) ((pstCB)->u16_Count != 0)
69 #define __ESOS_CB_IS_FULL(pstCB) ((pstCB)->u16_Length == (pstCB)->u16_Count)
70 #define __ESOS_CB_GET_LENGTH(pstCB) ((pstCB)->u16_Length)
71 #define __ESOS_CB_GET_COUNT(pstCB) ((pstCB)->u16_Count)
72 #define __ESOS_CB_GET_AVAILABLE(pstCB) (__ESOS_CB_GET_LENGTH(pstCB)-__ESOS_CB_GET_COUNT(pstCB))
73 #define __ESOS_CB_IS_AVAILABLE_AT_LEAST(pstCB, x) (__ESOS_CB_GET_AVAILABLE((pstCB))>=(x))
74 #define __ESOS_CB_IS_AVAILABLE_EXACTLY(pstCB, x) (__ESOS_CB_GET_AVAILABLE((pstCB))==(x))
76 #define ESOS_TASK_WAIT_WHILE_CB_IS_EMPTY(pstCB) ESOS_TASK_WAIT_WHILE(__ESOS_CB_IS_EMPTY((pstCB)))
77 #define ESOS_TASK_WAIT_WHILE_CB_IS_FULL(pstCB) ESOS_TASK_WAIT_WHILE(__ESOS_CB_IS_FULL((pstCB)))
78 #define ESOS_TASK_WAIT_UNTIL_CB_HAS_AVAILABLE_AT_LEAST(pstCB,x) ESOS_TASK_WAIT_UNTIL(__ESOS_CB_IS_AVAILABLE_AT_LEAST((pstCB),(x)))
87 void __esos_CB_Init(
CBUFFER* pst_CBuffer, uint8_t* pau8_ptr, uint16_t u16_Length);
89 void __esos_CB_WriteUINT16(
CBUFFER* pst_CBuffer, uint16_t u16_x);
90 void __esos_CB_WriteUINT32(
CBUFFER* pst_CBuffer, uint32_t u32_x);
91 void __esos_CB_WriteUINT8Buffer(
CBUFFER* pst_CBuffer, uint8_t* pu8_x, uint16_t u16_size );
92 void __esos_CB_OverwriteUINT8(
CBUFFER *pst_CBuffer, uint8_t u8_x);
95 uint8_t __esos_CB_ReadUINT8(
CBUFFER* pst_CBuffer);
96 uint16_t __esos_CB_ReadUINT16(
CBUFFER* pst_CBuffer);
97 uint32_t __esos_CB_ReadUINT32(
CBUFFER* pst_CBuffer);
98 void __esos_CB_ReadUINT8Buffer(
CBUFFER* pst_CBuffer, uint8_t* pu8_x, uint16_t u16_size );