def genl_ctrl_grp_by_name(family, grp_name): """https://github.com/thom311/libnl/blob/libnl3_2_25/lib/genl/ctrl.c#L446. Positional arguments: family -- genl_family class instance. grp_name -- bytes. Returns: group ID or negative error code. """ for grp in nl_list_for_each_entry(genl_family_grp(), family.gf_mc_grps, 'list_'): if grp.name == grp_name: return grp.id_ return -NLE_OBJ_NOTFOUND
def genl_family_add_grp(family, id_, name): """https://github.com/thom311/libnl/blob/libnl3_2_25/lib/genl/family.c#L366. Positional arguments: family -- Generic Netlink family object (genl_family class instance). id_ -- new numeric identifier (integer). name -- new human readable name (string). Returns: 0 """ grp = genl_family_grp(id_=id_, name=name) nl_list_add_tail(grp.list_, family.gf_mc_grps) return 0
def genl_family_add_grp(family, id_, name): """https://github.com/thom311/libnl/blob/libnl3_2_25/lib/genl/family.c#L366. Positional arguments: family -- Generic Netlink family object (genl_family class instance). id_ -- new numeric identifier (integer). name -- new human readable name (string). Returns: 0 """ grp = genl_family_grp(id_=id_, name=name) nl_list_add_tail(grp.list_, family.gf_mc_grps) return 0
def genl_ctrl_grp_by_name(family, grp_name): """https://github.com/thom311/libnl/blob/libnl3_2_25/lib/genl/ctrl.c#L446. Positional arguments: family -- genl_family class instance. grp_name -- bytes. Returns: group ID or negative error code. """ for grp in nl_list_for_each_entry(genl_family_grp(), family.gf_mc_grps, 'list_'): if grp.name == grp_name: return grp.id_ return -NLE_OBJ_NOTFOUND
def family_free_data(c): """https://github.com/thom311/libnl/blob/libnl3_2_25/lib/genl/family.c#L45. Positional arguments: c -- nl_object-derived class instance. """ family = c if not hasattr(family, 'gf_ops'): setattr(family, 'gf_ops', nl_list_head(container_of=family)) if not hasattr(family, 'gf_mc_grps'): setattr(family, 'gf_mc_grps', nl_list_head(container_of=family)) ops = tmp = genl_family_op() grp = t_grp = genl_family_grp() if family is None: return for ops in nl_list_for_each_entry_safe(ops, tmp, family.gf_ops, 'o_list'): nl_list_del(ops.o_list) for grp in nl_list_for_each_entry_safe(grp, t_grp, family.gf_mc_grps, 'list_'): nl_list_del(grp.list_)
def family_free_data(c): """https://github.com/thom311/libnl/blob/libnl3_2_25/lib/genl/family.c#L45. Positional arguments: c -- nl_object-derived class instance. """ family = c if not hasattr(family, 'gf_ops'): setattr(family, 'gf_ops', nl_list_head(container_of=family)) if not hasattr(family, 'gf_mc_grps'): setattr(family, 'gf_mc_grps', nl_list_head(container_of=family)) ops = tmp = genl_family_op() grp = t_grp = genl_family_grp() if family is None: return for ops in nl_list_for_each_entry_safe(ops, tmp, family.gf_ops, 'o_list'): nl_list_del(ops.o_list) for grp in nl_list_for_each_entry_safe(grp, t_grp, family.gf_mc_grps, 'list_'): nl_list_del(grp.list_)