From 3ac4e08964d8c274db919d73056367b2f37618de Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 13 Feb 2011 16:46:28 +0000 Subject: libnl-tiny: decrease the size a bit more by removing some unnecessary functions git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25525 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/libnl-tiny/src/include/netlink/object.h | 34 ++++++++++++++++++++----- 1 file changed, 27 insertions(+), 7 deletions(-) (limited to 'package/libnl-tiny/src/include/netlink/object.h') diff --git a/package/libnl-tiny/src/include/netlink/object.h b/package/libnl-tiny/src/include/netlink/object.h index 87385c48e..8aabe7bb1 100644 --- a/package/libnl-tiny/src/include/netlink/object.h +++ b/package/libnl-tiny/src/include/netlink/object.h @@ -35,23 +35,26 @@ struct nl_object /* General */ extern struct nl_object * nl_object_alloc(struct nl_object_ops *); -extern int nl_object_alloc_name(const char *, - struct nl_object **); extern void nl_object_free(struct nl_object *); extern struct nl_object * nl_object_clone(struct nl_object *obj); -extern void nl_object_get(struct nl_object *); -extern void nl_object_put(struct nl_object *); + +#ifdef disabled + +extern int nl_object_alloc_name(const char *, + struct nl_object **); extern void nl_object_dump(struct nl_object *, struct nl_dump_params *); -extern int nl_object_identical(struct nl_object *, - struct nl_object *); + extern uint32_t nl_object_diff(struct nl_object *, struct nl_object *); extern int nl_object_match_filter(struct nl_object *, struct nl_object *); +extern int nl_object_identical(struct nl_object *, + struct nl_object *); extern char * nl_object_attrs2str(struct nl_object *, uint32_t attrs, char *buf, size_t); +#endif /** * Check whether this object is used by multiple users * @arg obj object to check @@ -63,6 +66,22 @@ static inline int nl_object_shared(struct nl_object *obj) } +static inline void nl_object_get(struct nl_object *obj) +{ + obj->ce_refcnt++; +} + +static inline void nl_object_put(struct nl_object *obj) +{ + if (!obj) + return; + + obj->ce_refcnt--; + + if (obj->ce_refcnt <= 0) + nl_object_free(obj); +} + /** * @name Marks @@ -99,6 +118,7 @@ static inline int nl_object_is_marked(struct nl_object *obj) /** @} */ +#ifdef disabled /** * Return list of attributes present in an object * @arg obj an object @@ -111,7 +131,7 @@ static inline char *nl_object_attr_list(struct nl_object *obj, char *buf, size_t { return nl_object_attrs2str(obj, obj->ce_mask, buf, len); } - +#endif /** * @name Attributes -- cgit v1.2.3