1/* 2 * netlink/data.h Abstract Data 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation version 2.1 7 * of the License. 8 * 9 * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch> 10 */ 11 12#ifndef NETLINK_DATA_H_ 13#define NETLINK_DATA_H_ 14 15#include <netlink/netlink.h> 16 17#ifdef __cplusplus 18extern "C" { 19#endif 20 21struct nl_data; 22 23/* General */ 24extern struct nl_data * nl_data_alloc(void *, size_t); 25extern struct nl_data * nl_data_alloc_attr(struct nlattr *); 26extern struct nl_data * nl_data_clone(struct nl_data *); 27extern int nl_data_append(struct nl_data *, void *, size_t); 28extern void nl_data_free(struct nl_data *); 29 30/* Access Functions */ 31extern void * nl_data_get(struct nl_data *); 32extern size_t nl_data_get_size(struct nl_data *); 33 34/* Misc */ 35extern int nl_data_cmp(struct nl_data *, struct nl_data *); 36 37#ifdef __cplusplus 38} 39#endif 40 41#endif 42