Modules | |
| Object API | |
Data Structures | |
| struct | nl_derived_object |
Object Creation/Deletion | |
| struct nl_object * | nl_object_alloc (struct nl_object_ops *ops) |
| Allocate a new object of kind specified by the operations handle. | |
| struct nl_object * | nl_object_alloc_name (const char *kind) |
| Allocate a new object of kind specified by the name. | |
| struct nl_object * | nl_object_clone (struct nl_object *obj) |
| Allocate a new object and copy all data from an existing object. | |
| void | nl_object_free (struct nl_object *obj) |
| Free a cacheable object. | |
Reference Management | |
| void | nl_object_get (struct nl_object *obj) |
| Acquire a reference on a object. | |
| void | nl_object_put (struct nl_object *obj) |
| Release a reference from an object. | |
| int | nl_object_shared (struct nl_object *obj) |
| Check whether this object is used by multiple users. | |
Marks | |
| void | nl_object_mark (struct nl_object *obj) |
| Add mark to object. | |
| void | nl_object_unmark (struct nl_object *obj) |
| Remove mark from object. | |
| int | nl_object_is_marked (struct nl_object *obj) |
| Return true if object is marked. | |
Utillities | |
| void | nl_object_dump (struct nl_object *obj, struct nl_dump_params *params) |
| Dump this object according to the specified parameters. | |
| int | nl_object_identical (struct nl_object *a, struct nl_object *b) |
| Check if the identifiers of two objects are identical. | |
| uint32_t | nl_object_diff (struct nl_object *a, struct nl_object *b) |
| Compute bitmask representing difference in attribute values. | |
| int | nl_object_match_filter (struct nl_object *obj, struct nl_object *filter) |
| Match a filter against an object. | |
| char * | nl_object_attrs2str (struct nl_object *obj, uint32_t attrs, char *buf, size_t len) |
| Convert bitmask of attributes to a character string. | |
| char * | nl_object_attr_list (struct nl_object *obj, char *buf, size_t len) |
| Return list of attributes present in an object. | |
Attributes | |
| int | nl_object_get_refcnt (struct nl_object *obj) |
| struct nl_cache * | nl_object_get_cache (struct nl_object *obj) |
| void * | nl_object_priv (struct nl_object *obj) |
| struct nl_object* nl_object_alloc | ( | struct nl_object_ops * | ops | ) | [read] |
| ops | cache operations handle |
Definition at line 42 of file object.c.
References nl_object_ops::oo_constructor, and nl_object_ops::oo_size.
Referenced by nl_object_alloc_name(), and nl_object_clone().
| struct nl_object* nl_object_alloc_name | ( | const char * | kind | ) | [read] |
| kind | name of object type |
Definition at line 72 of file object.c.
References nl_cache_ops::co_obj_ops, nl_cache_ops_lookup(), and nl_object_alloc().
| struct nl_object* nl_object_clone | ( | struct nl_object * | obj | ) | [read] |
| obj | object to inherite data from |
Definition at line 95 of file object.c.
References nl_object_alloc(), nl_object_free(), nl_object_ops::oo_clone, nl_object_ops::oo_free_data, and nl_object_ops::oo_size.
Referenced by nl_cache_add().
| void nl_object_free | ( | struct nl_object * | obj | ) |
| obj | object to free |
Definition at line 133 of file object.c.
References nl_cache_remove(), and nl_object_ops::oo_free_data.
Referenced by nl_object_clone(), and nl_object_put().
| void nl_object_get | ( | struct nl_object * | obj | ) |
| obj | object to acquire reference from |
Definition at line 162 of file object.c.
Referenced by genl_ctrl_search(), genl_ctrl_search_by_name(), nl_cache_add(), nl_cache_move(), nl_cache_search(), rtnl_link_get(), rtnl_link_get_by_name(), rtnl_neigh_get(), rtnl_neightbl_get(), rtnl_qdisc_get(), and rtnl_qdisc_get_by_parent().
| void nl_object_put | ( | struct nl_object * | obj | ) |
| obj | object to release reference from |
Definition at line 173 of file object.c.
References nl_object_free().
Referenced by nl_cache_remove().
| int nl_object_shared | ( | struct nl_object * | obj | ) |
| void nl_object_mark | ( | struct nl_object * | obj | ) |
| obj | Object to mark |
Definition at line 210 of file object.c.
Referenced by nl_cache_mark_all().
| void nl_object_unmark | ( | struct nl_object * | obj | ) |
| int nl_object_is_marked | ( | struct nl_object * | obj | ) |
| void nl_object_dump | ( | struct nl_object * | obj, | |
| struct nl_dump_params * | params | |||
| ) |
| int nl_object_identical | ( | struct nl_object * | a, | |
| struct nl_object * | b | |||
| ) |
| a | an object | |
| b | another object of same type |
Definition at line 258 of file object.c.
References nl_object_ops::oo_compare, and nl_object_ops::oo_id_attrs.
Referenced by nl_cache_search().
| uint32_t nl_object_diff | ( | struct nl_object * | a, | |
| struct nl_object * | b | |||
| ) |
| a | an object | |
| b | another object of same type |
Definition at line 294 of file object.c.
References nl_object_ops::oo_compare.
| int nl_object_match_filter | ( | struct nl_object * | obj, | |
| struct nl_object * | filter | |||
| ) |
| obj | object to check | |
| filter | object of same type acting as filter |
Definition at line 313 of file object.c.
References nl_object_ops::oo_compare.
Referenced by nl_cache_dump_filter(), nl_cache_foreach_filter(), nl_cache_nitems_filter(), and nl_cache_subset().
| char* nl_object_attrs2str | ( | struct nl_object * | obj, | |
| uint32_t | attrs, | |||
| char * | buf, | |||
| size_t | len | |||
| ) |
| obj | object of same type as attribute bitmask | |
| attrs | bitmask of attribute types | |
| buf | destination buffer | |
| len | length of destination buffer |
Definition at line 336 of file object.c.
References nl_object_ops::oo_attrs2str.
Referenced by nl_object_attr_list().
| char* nl_object_attr_list | ( | struct nl_object * | obj, | |
| char * | buf, | |||
| size_t | len | |||
| ) |
| obj | an object | |
| buf | destination buffer | |
| len | length of destination buffer |
Definition at line 357 of file object.c.
References nl_object_attrs2str().
1.5.5