1 /* 2 * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef NET_ANCILLARY_DATA_H 6 #define NET_ANCILLARY_DATA_H 7 8 #include <net_stack.h> 9 10 11 struct ancillary_data_container; 12 13 ancillary_data_container* create_ancillary_data_container(); 14 void delete_ancillary_data_container(ancillary_data_container* container); 15 16 status_t add_ancillary_data(ancillary_data_container* container, 17 const ancillary_data_header* header, const void* data, 18 void (*destructor)(const ancillary_data_header*, void*), 19 void** _allocatedData); 20 status_t remove_ancillary_data(ancillary_data_container* container, void* data, 21 bool destroy); 22 void* move_ancillary_data(ancillary_data_container* from, 23 ancillary_data_container* to); 24 25 void* next_ancillary_data(const ancillary_data_container* container, 26 void* previousData, ancillary_data_header* _header); 27 28 29 #endif // NET_ANCILLARY_DATA_H 30