chg-stn-motherboard-ti-mcu/ivec_cmplx_queue.h

37 lines
1007 B
C

#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