embeddedlibrary
reusable software modules for embedded systems
itemBuffer.h
Go to the documentation of this file.
1 // _BUFFER_H_ is a flag used to prevent buffer.h from being included more than
2 // once in any given source file.
3 #ifndef _ITEMBUFFER_H_
4 #define _ITEMBUFFER_H_
5 #include <stdint.h> // include defs for uint16_t etc.
6 #include <stdbool.h>
7 
29 typedef struct {
30  uint16_t size;
31  uint8_t item_size;
32  uint16_t *front;
33  uint16_t *rear;
34  uint16_t *buffer_start;
35  uint16_t *buffer_end;
36  void (*Callback)(void * buf);
39 
54 bool PushItem(item_buffer_t *buffer, uint16_t *data);
55 
69 void PopItem(item_buffer_t *buffer, uint16_t *data);
70 
79 uint16_t ItemBufferGetSize(item_buffer_t *buffer);
80 
98 void ItemBufferInit(item_buffer_t *buffer, uint16_t *data_array, uint16_t max_size, uint8_t type_size);
99 
131 void ItemBufferSetCallback(item_buffer_t * buffer, void (*Callback)(item_buffer_t * buffer));
132 
138 
141 #endif // _ITEMBUFFER_H_
uint16_t ItemBufferGetSize(item_buffer_t *buffer)
Definition: itemBuffer.c:44
uint8_t item_size
Definition: itemBuffer.h:31
uint16_t size
Definition: itemBuffer.h:30
uint16_t * front
Definition: itemBuffer.h:32
void ItemBufferInit(item_buffer_t *buffer, uint16_t *data_array, uint16_t max_size, uint8_t type_size)
Definition: itemBuffer.c:48
bool PushItem(item_buffer_t *buffer, uint16_t *data)
Definition: itemBuffer.c:6
uint16_t * buffer_end
Definition: itemBuffer.h:35
void ItemBufferClearCallback(item_buffer_t *buffer)
Definition: itemBuffer.c:62
uint16_t * buffer_start
Definition: itemBuffer.h:34
Definition: itemBuffer.h:29
void ItemBufferSetCallback(item_buffer_t *buffer, void(*Callback)(item_buffer_t *buffer))
Definition: itemBuffer.c:58
uint16_t * rear
Definition: itemBuffer.h:33
void PopItem(item_buffer_t *buffer, uint16_t *data)
Definition: itemBuffer.c:31