From c13c9806f957ebc675462737f4b328d3ab89e028 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Mon, 10 Jul 2023 17:29:22 +0800 Subject: [PATCH] update gpsd.c --- gpsd/booster/ringbuf.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git a/gpsd/booster/ringbuf.h b/gpsd/booster/ringbuf.h new file mode 100644 index 0000000..23553cc --- /dev/null +++ b/gpsd/booster/ringbuf.h @@ -0,0 +1,57 @@ +/******************************************************************************** + * Copyright: (C) 2021 LingYun IoT System Studio + * All rights reserved. + * + * Filename: ringbuf.h + * Description: This head file + * + * Version: 1.0.0(2021年04月29日) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "2021年04月29日 12时18分32秒" + * + ********************************************************************************/ + +#ifndef _RINGBUF_H_ +#define _RINGBUF_H_ + +struct ring_buffer +{ + unsigned char *buffer; + int wr_pointer; + int rd_pointer; + int size; +}; + + +/* Initial the ring buffer */ +void rb_init (struct ring_buffer *ring, unsigned char *buff, int size) ; + + +/* Description: Write $len bytes data in $buf into ring buffer $rb + * Return Value: The actual written into ring buffer data size, if ring buffer + * left space size small than $len, then only part of the data be written into. + */ +int rb_write (struct ring_buffer *rb, unsigned char *buf, int len) ; + + +/* Get ring buffer left free size */ +int rb_free_size (struct ring_buffer *rb); + + +/* Read $max bytes data from ring buffer $rb to $buf */ +int rb_read (struct ring_buffer *rb, unsigned char *buf, int max); + + +/* Read a specify $index byte data in ring buffer $rb */ +unsigned char rb_peek(struct ring_buffer *rb, int index); + + +/* Get data size in the ring buffer */ +int rb_data_size (struct ring_buffer *rb); + + +/* Clear the ring buffer data */ +void rb_clear (struct ring_buffer *rb) ; + +#endif /* ----- #ifndef _RINGBUF_H_ ----- */ + -- Gitblit v1.9.1