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 18 extern "C" { 19 #endif 20 21 struct nl_data; 22 23 /* General */ 24 extern struct nl_data * nl_data_alloc(void *, size_t); 25 extern struct nl_data * nl_data_alloc_attr(struct nlattr *); 26 extern struct nl_data * nl_data_clone(struct nl_data *); 27 extern int nl_data_append(struct nl_data *, void *, size_t); 28 extern void nl_data_free(struct nl_data *); 29 30 /* Access Functions */ 31 extern void * nl_data_get(struct nl_data *); 32 extern size_t nl_data_get_size(struct nl_data *); 33 34 /* Misc */ 35 extern int nl_data_cmp(struct nl_data *, struct nl_data *); 36 37 #ifdef __cplusplus 38 } 39 #endif 40 41 #endif 42