libnl-tiny: decrease the size a bit more by removing some unnecessary functions
SVN-Revision: 25525
This commit is contained in:
parent
5d0f9914ba
commit
f89919a7ee
4 changed files with 31 additions and 41 deletions
|
@ -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
|
||||
|
||||
/** @} */
|
||||
|
||||
|
|
|
@ -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 --- */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @} */
|
||||
|
|
Loading…
Reference in a new issue