* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*/
#ifndef NET_ANCILLARY_DATA_H
#define NET_ANCILLARY_DATA_H
#include <net_stack.h>
struct ancillary_data_container;
ancillary_data_container* create_ancillary_data_container();
void delete_ancillary_data_container(ancillary_data_container* container);
status_t add_ancillary_data(ancillary_data_container* container,
const ancillary_data_header* header, const void* data,
void (*destructor)(const ancillary_data_header*, void*),
void (*clone)(const ancillary_data_header*, void*),
void** _allocatedData);
status_t remove_ancillary_data(ancillary_data_container* container, void* data,
bool destroy);
void* move_ancillary_data(ancillary_data_container* from,
ancillary_data_container* to);
void* next_ancillary_data(const ancillary_data_container* container,
void* previousData, ancillary_data_header* _header);
status_t clone_ancillary_data(const ancillary_data_container* from,
ancillary_data_container* to);
#endif