00001
00002
00003
00004
00005
00006
00007
00008
00009
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
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
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