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 11struct ancillary_data_container; 12 13ancillary_data_container* create_ancillary_data_container(); 14void delete_ancillary_data_container(ancillary_data_container* container); 15 16status_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); 20status_t remove_ancillary_data(ancillary_data_container* container, void* data, 21 bool destroy); 22void* move_ancillary_data(ancillary_data_container* from, 23 ancillary_data_container* to); 24 25void* next_ancillary_data(ancillary_data_container* container, 26 void* previousData, ancillary_data_header* _header); 27 28 29#endif // NET_ANCILLARY_DATA_H 30