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/cache.c | 2 -- package/libnl-tiny/src/include/netlink/cache.h | 2 ++ package/libnl-tiny/src/include/netlink/object.h | 34 ++++++++++++++++++++----- package/libnl-tiny/src/object.c | 34 ++----------------------- 4 files changed, 31 insertions(+), 41 deletions(-) (limited to 'package/libnl-tiny') diff --git a/package/libnl-tiny/src/cache.c b/package/libnl-tiny/src/cache.c index fed042d15..0e1457434 100644 --- a/package/libnl-tiny/src/cache.c +++ b/package/libnl-tiny/src/cache.c @@ -730,7 +730,6 @@ void nl_cache_mark_all(struct nl_cache *cache) * @name Dumping * @{ */ -#ifdef disabled /** * Dump all elements of a cache. * @arg cache cache to dump @@ -781,7 +780,6 @@ void nl_cache_dump_filter(struct nl_cache *cache, dump_from_ops(obj, params); } } -#endif /** @} */ diff --git a/package/libnl-tiny/src/include/netlink/cache.h b/package/libnl-tiny/src/include/netlink/cache.h index f4db3b9bf..09719f3a7 100644 --- a/package/libnl-tiny/src/include/netlink/cache.h +++ b/package/libnl-tiny/src/include/netlink/cache.h @@ -76,6 +76,7 @@ extern void nl_cache_dump_filter(struct nl_cache *, struct nl_object *); /* Iterators */ +#ifdef disabled extern void nl_cache_foreach(struct nl_cache *, void (*cb)(struct nl_object *, void *), @@ -86,6 +87,7 @@ extern void nl_cache_foreach_filter(struct nl_cache *, nl_object *, void *), void *arg); +#endif /* --- cache management --- */ 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 diff --git a/package/libnl-tiny/src/object.c b/package/libnl-tiny/src/object.c index 1b18d9a7d..f91555137 100644 --- a/package/libnl-tiny/src/object.c +++ b/package/libnl-tiny/src/object.c @@ -156,37 +156,6 @@ void nl_object_free(struct nl_object *obj) * @{ */ -/** - * Acquire a reference on a object - * @arg obj object to acquire reference from - */ -void nl_object_get(struct nl_object *obj) -{ - obj->ce_refcnt++; - NL_DBG(4, "New reference to object %p, total %d\n", - obj, obj->ce_refcnt); -} - -/** - * Release a reference from an object - * @arg obj object to release reference from - */ -void nl_object_put(struct nl_object *obj) -{ - if (!obj) - return; - - obj->ce_refcnt--; - NL_DBG(4, "Returned object reference %p, %d remaining\n", - obj, obj->ce_refcnt); - - if (obj->ce_refcnt < 0) - BUG(); - - if (obj->ce_refcnt <= 0) - nl_object_free(obj); -} - /** @} */ /** @@ -235,7 +204,6 @@ int nl_object_identical(struct nl_object *a, struct nl_object *b) return !(ops->oo_compare(a, b, req_attrs, 0)); } -#endif /** * Compute bitmask representing difference in attribute values @@ -304,6 +272,8 @@ char *nl_object_attrs2str(struct nl_object *obj, uint32_t attrs, } } +#endif + /** @} */ /** @} */ -- cgit v1.2.3