libnl 1.1

include/netlink/data.h

00001 /*
00002  * netlink/data.h       Abstract Data
00003  *
00004  *      This library is free software; you can redistribute it and/or
00005  *      modify it under the terms of the GNU Lesser General Public
00006  *      License as published by the Free Software Foundation version 2.1
00007  *      of the License.
00008  *
00009  * Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch>
00010  */
00011 
00012 #ifndef NETLINK_DATA_H_
00013 #define NETLINK_DATA_H_
00014 
00015 #include <netlink/netlink.h>
00016 
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020 
00021 struct nl_data;
00022 
00023 /* General */
00024 extern struct nl_data * nl_data_alloc(void *, size_t);
00025 extern struct nl_data * nl_data_clone(struct nl_data *);
00026 extern int              nl_data_append(struct nl_data *, void *, size_t);
00027 extern void             nl_data_free(struct nl_data *);
00028 
00029 /* Access Functions */
00030 extern void *           nl_data_get(struct nl_data *);
00031 extern size_t           nl_data_get_size(struct nl_data *);
00032 
00033 /* Misc */
00034 extern int              nl_data_cmp(struct nl_data *, struct nl_data *);
00035 
00036 #ifdef __cplusplus
00037 }
00038 #endif
00039 
00040 #endif