|
libnl
3.7.0
|
Functions | |
| nl_hash_table_t * | nl_hash_table_alloc (int size) |
| Allocate hashtable. More... | |
| void | nl_hash_table_free (nl_hash_table_t *ht) |
| Free hashtable including all nodes. More... | |
| struct nl_object * | nl_hash_table_lookup (nl_hash_table_t *ht, struct nl_object *obj) |
| Lookup identical object in hashtable. More... | |
| int | nl_hash_table_add (nl_hash_table_t *ht, struct nl_object *obj) |
| Add object to hashtable. More... | |
| int | nl_hash_table_del (nl_hash_table_t *ht, struct nl_object *obj) |
| Remove object from hashtable. More... | |
| uint32_t | nl_hash (void *k, size_t length, uint32_t initval) |
| nl_hash_table_t* nl_hash_table_alloc | ( | int | size | ) |
Allocate hashtable.
| size | Size of hashtable in number of elements |
Definition at line 24 of file hashtable.c.
Referenced by nl_cache_alloc().
Here is the caller graph for this function:| void nl_hash_table_free | ( | nl_hash_table_t * | ht | ) |
Free hashtable including all nodes.
| ht | Hashtable |
Definition at line 51 of file hashtable.c.
References nl_object_put().
Here is the call graph for this function:| struct nl_object* nl_hash_table_lookup | ( | nl_hash_table_t * | ht, |
| struct nl_object * | obj | ||
| ) |
Lookup identical object in hashtable.
| ht | Hashtable |
| obj | Object to lookup |
Generates hashkey for obj and traverses the corresponding chain calling nl_object_identical() on each trying to find a match.
Definition at line 81 of file hashtable.c.
References nl_object_identical(), and nl_object_keygen().
Here is the call graph for this function:| int nl_hash_table_add | ( | nl_hash_table_t * | ht, |
| struct nl_object * | obj | ||
| ) |
Add object to hashtable.
| ht | Hashtable |
| obj | Object to add |
Adds obj to the hashtable. Object type must support hashing, otherwise all objects will be added to the chain 0.
| -NLE_EXIST | Identical object already present in hashtable |
Definition at line 112 of file hashtable.c.
References nl_object_get(), nl_object_identical(), and nl_object_keygen().
Here is the call graph for this function:| int nl_hash_table_del | ( | nl_hash_table_t * | ht, |
| struct nl_object * | obj | ||
| ) |
Remove object from hashtable.
| ht | Hashtable |
| obj | Object to remove |
Remove obj from hashtable if it exists.
| -NLE_OBJ_NOTFOUND | Object not present in hashtable. |
Definition at line 156 of file hashtable.c.
References nl_object_identical(), nl_object_keygen(), and nl_object_put().
Referenced by nl_cache_remove().
Here is the call graph for this function:
Here is the caller graph for this function: