/build/buildd/libnl-1.0~pre6/include/netlink/object.h

00001 /*
00002  * netlink/object.c     Generic Cacheable Object
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_OBJECT_H_
00013 #define NETLINK_OBJECT_H_
00014 
00015 #include <netlink/netlink.h>
00016 #include <netlink/utils.h>
00017 
00018 struct nl_cache;
00019 struct nl_object;
00020 struct nl_cache_ops;
00021 
00022 /* General */
00023 extern struct nl_object *       nl_object_alloc(size_t size);
00024 extern struct nl_object *       nl_object_alloc_from_ops(struct nl_cache_ops *);
00025 extern struct nl_object *       nl_object_alloc_name(const char *);
00026 extern void                     nl_object_free(struct nl_object *);
00027 extern struct nl_object *       nl_object_clone(struct nl_object *obj);
00028 extern void                     nl_object_get(struct nl_object *);
00029 extern void                     nl_object_put(struct nl_object *);
00030 extern int                      nl_object_shared(struct nl_object *);
00031 extern void                     nl_object_dump(struct nl_object *,
00032                                                struct nl_dump_params *);
00033 extern int                      nl_object_match(struct nl_object *,
00034                                                 struct nl_object *);
00035 
00036 /* Access Functions */
00037 extern int                      nl_object_get_refcnt(struct nl_object *);
00038 extern struct nl_cache_ops *    nl_object_get_ops(struct nl_object *);
00039 extern struct nl_cache *        nl_object_get_cache(struct nl_object *);
00040 extern inline void *            nl_object_priv(struct nl_object *);
00041 
00042 #endif

Generated on Fri Apr 27 14:14:07 2007 for libnl by  doxygen 1.5.1