|
libnl 1.1
|
Functions | |
| int | genl_ctrl_resolve (struct nl_handle *handle, const char *name) |
| Resolve generic netlink family name to its identifier. | |
Cache Management | |
| struct nl_cache * | genl_ctrl_alloc_cache (struct nl_handle *handle) |
| struct genl_family * | genl_ctrl_search (struct nl_cache *cache, int id) |
| Look up generic netlink family by id in the provided cache. | |
Resolver | |
| struct genl_family * | genl_ctrl_search_by_name (struct nl_cache *cache, const char *name) |
| Look up generic netlink family by family name in the provided cache. | |
| struct genl_family* genl_ctrl_search | ( | struct nl_cache * | cache, |
| int | id | ||
| ) | [read] |
| cache | Generic netlink family cache. |
| id | Family identifier. |
Searches through the cache looking for a registered family matching the specified identifier. The caller will own a reference on the returned object which needs to be given back after usage using genl_family_put().
Definition at line 174 of file ctrl.c.
References nl_object_get().
{
struct genl_family *fam;
if (cache->c_ops != &genl_ctrl_ops)
BUG();
nl_list_for_each_entry(fam, &cache->c_items, ce_list) {
if (fam->gf_id == id) {
nl_object_get((struct nl_object *) fam);
return fam;
}
}
return NULL;
}
| struct genl_family* genl_ctrl_search_by_name | ( | struct nl_cache * | cache, |
| const char * | name | ||
| ) | [read] |
| cache | Generic netlink family cache. |
| name | Family name. |
Searches through the cache looking for a registered family matching the specified name. The caller will own a reference on the returned object which needs to be given back after usage using genl_family_put().
Definition at line 208 of file ctrl.c.
References nl_object_get().
Referenced by genl_ctrl_resolve().
{
struct genl_family *fam;
if (cache->c_ops != &genl_ctrl_ops)
BUG();
nl_list_for_each_entry(fam, &cache->c_items, ce_list) {
if (!strcmp(name, fam->gf_name)) {
nl_object_get((struct nl_object *) fam);
return fam;
}
}
return NULL;
}
| int genl_ctrl_resolve | ( | struct nl_handle * | handle, |
| const char * | name | ||
| ) |
| handle | Netlink Handle |
| name | Name of generic netlink family |
Resolves the generic netlink family name to its identifer and returns it.
Definition at line 238 of file ctrl.c.
References genl_ctrl_search_by_name(), and nl_cache_free().
{
struct nl_cache *cache;
struct genl_family *family;
int err;
cache = genl_ctrl_alloc_cache(handle);
if (cache == NULL)
return nl_get_errno();
family = genl_ctrl_search_by_name(cache, name);
if (family == NULL) {
err = nl_error(ENOENT, "Generic Netlink Family not found");
goto errout;
}
err = genl_family_get_id(family);
genl_family_put(family);
errout:
nl_cache_free(cache);
return err;
}
1.7.3