summaryrefslogtreecommitdiff
path: root/src/common/tusb_fifo.h
diff options
context:
space:
mode:
authorReinhard Panhuber <[email protected]>2021-04-23 11:48:54 +0200
committerReinhard Panhuber <[email protected]>2021-04-23 11:48:54 +0200
commit7072f0155e994005d8a0ccf5658f765df8a443b8 (patch)
tree4bb86a60c7233e62fb75baea256e0dc9aebec7ca /src/common/tusb_fifo.h
parenta98d0217a05129b36d2eef76f36b986c31f84e92 (diff)
Change tu_fifo_get_linear_write/read_info() to return a struct
Compilers always complain that variables set by function via pointer might be uninitialized so to avoid that return values are now delivered via struct.
Diffstat (limited to 'src/common/tusb_fifo.h')
-rw-r--r--src/common/tusb_fifo.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/common/tusb_fifo.h b/src/common/tusb_fifo.h
index 28998ad24..c23f25723 100644
--- a/src/common/tusb_fifo.h
+++ b/src/common/tusb_fifo.h
@@ -80,6 +80,14 @@ typedef struct
} tu_fifo_t;
+typedef struct
+{
+ uint16_t len_lin ; ///< linear length in item size
+ uint16_t len_wrap ; ///< wrapped length in item size
+ void * ptr_lin ; ///< linear part start pointer
+ void * ptr_wrap ; ///< wrapped part start pointer
+} tu_fifo_linear_wr_info;
+
#define TU_FIFO_INIT(_buffer, _depth, _type, _overwritable) \
{ \
.buffer = _buffer, \
@@ -136,8 +144,8 @@ void tu_fifo_advance_read_pointer (tu_fifo_t *f, uint16_t n);
// tu_fifo_advance_read_pointer()/tu_fifo_advance_write_pointer and conduct a second read/write operation
// TODO - update comments
-uint16_t tu_fifo_get_linear_read_info(tu_fifo_t *f, uint16_t offset, uint16_t n, void **ptr_lin, uint16_t *len_wrap, void **ptr_wrap);
-uint16_t tu_fifo_get_linear_write_info(tu_fifo_t *f, uint16_t offset, uint16_t n, void **ptr_lin, uint16_t *len_wrap, void **ptr_wrap);
+tu_fifo_linear_wr_info tu_fifo_get_linear_read_info(tu_fifo_t *f, uint16_t offset, uint16_t n);
+tu_fifo_linear_wr_info tu_fifo_get_linear_write_info(tu_fifo_t *f, uint16_t offset, uint16_t n);
static inline bool tu_fifo_peek(tu_fifo_t* f, void * p_buffer)
{