diff options
Diffstat (limited to 'package/libnl-tiny/src/include/netlink')
| -rw-r--r-- | package/libnl-tiny/src/include/netlink/cache.h | 2 | ||||
| -rw-r--r-- | package/libnl-tiny/src/include/netlink/object.h | 34 | 
2 files changed, 29 insertions, 7 deletions
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  | 
