#ifndef __H_IVEC_CMPLX_QUEUE_H__ #define __H_IVEC_CMPLX_QUEUE_H__ #include "stdint.h" #define FIXED_ELEMENT_SIZE_QUEUE 1 #define NONFIXED_ELEMENT_SIZE_QUEUE 2 typedef struct { /* data */ uint8_t u8Init; int i32Front; int i32Rear; int i32RemainingSize; int i32TotalElements; int i32ElementSize; int i32Filled; uint8_t u8Startdelimeter[2]; uint8_t u8EndDelimeter[2]; uint8_t u8DelimeterLen; int i32QueueType; uint8_t *pu8Buffer; } CmplxFifoQueueHandle_s; int i32CMPLX_FifoCounts(CmplxFifoQueueHandle_s *queue); uint8_t u8CMPLX_FifoQueueEmpty(CmplxFifoQueueHandle_s *queue); int i32CMPLX_FifoQueueFull(CmplxFifoQueueHandle_s *queue); uint8_t u8CMPLX_FifoEnqueue(CmplxFifoQueueHandle_s *queue, void *data, int a_len); uint8_t u8CMPLX_FifoDequeue(CmplxFifoQueueHandle_s *queue, void *data, int *a_len,uint8_t dump_element); uint8_t u8CMPLX_FifoQueueInit(CmplxFifoQueueHandle_s *queue); void vCMPLX_FifoQueueFlush(CmplxFifoQueueHandle_s *queue); #endif