#ifndef X_FIFO_H_ #define X_FIFO_H_ #include "stddef.h" #include "stdbool.h" #include "stdint.h" typedef struct GenericNode { void *data; size_t data_size; struct GenericNode *next; } GenericNode; typedef struct { GenericNode *head; GenericNode *tail; uint32_t max_size; uint32_t current_size; } GenericFixedList; GenericNode* generic_node_create(const void *data, size_t data_size); GenericFixedList* generic_list_create(int max_size); void generic_list_get(GenericFixedList *list,void * data,uint8_t lenth); bool generic_list_append(GenericFixedList *list, const void *data, size_t data_size); void generic_list_clean(GenericFixedList *list); void generic_list_destroy(GenericFixedList *list); int generic_list_get_count(GenericFixedList *list); void * generic_list_get_index(GenericFixedList *list,uint8_t index); #endif