lib_buffer.h 824 B

1234567891011121314151617181920212223242526
  1. #ifndef __BUFFER
  2. #define __BUFFER
  3. #include <stdint.h>
  4. typedef struct
  5. {
  6. unsigned char *pHead;//环形存储区的首地址
  7. unsigned char *pTail;//环形存储区的结尾地址
  8. unsigned char *pValid;//已使用的缓冲区的首地址
  9. unsigned char *pValidTail;//已使用的缓冲区的尾地址
  10. unsigned int pop_size;
  11. unsigned int push_size;
  12. unsigned int size;
  13. } TBuffferOBJ;
  14. typedef TBuffferOBJ* TBufffer;
  15. TBufffer TBuffer_Init(TBuffferOBJ *data, void *buffer, int buff_size);
  16. void TBuffer_Fini(TBuffferOBJ *data);
  17. int TBuffer_Push(TBufffer Object, const void *data, int size);
  18. int TBuffer_Peek(TBufffer Object, void *data, int size); //返回实际尺寸
  19. int TBuffer_Pop(TBufffer Object, void *data, int size);
  20. uint32_t TBuffer_obj_num(TBufffer Object,int obj_size);
  21. #endif