Lines Matching refs:family
34 def __init__(self, family, attr_set, attr, value): argument
35 super().__init__(family, attr_set, attr, value)
46 if self.nested_attrs == family.name:
219 def __init__(self, family, attr_set, attr, value): argument
220 super().__init__(family, attr_set, attr, value)
238 self.is_bitfield = self.family.consts[self.attr['enum']]['type'] == 'flags'
257 mask = self.family.consts[self.attr['enum']].get_mask()
259 flags = self.family.consts[self.checks['flags-mask']]
266 enum = self.family.consts[self.attr['enum']]
421 for _, attr in ri.family.pure_nested_structs[self.nested_attrs].member_list():
519 def __init__(self, family, space_name, type_list=None, inherited=None): argument
520 self.family = family
522 self.attr_set = family.attr_sets[space_name]
528 if family.name == c_lower(space_name):
591 def __init__(self, family, yaml): argument
592 self.render_name = c_lower(family.name + '-' + yaml['name'])
597 super().__init__(family, yaml)
604 def __init__(self, family, yaml): argument
605 super().__init__(family, yaml)
610 elif self.name == family.name:
611 pfx = family.name + '-a-'
617 self.name_prefix = family.attr_sets[self.subset_of].name_prefix
618 self.max_name = family.attr_sets[self.subset_of].max_name
628 if self.c_name == self.family.c_name:
633 return TypeMultiAttr(self.family, self, elem, value)
635 return TypeScalar(self.family, self, elem, value)
637 return TypeUnused(self.family, self, elem, value)
639 return TypePad(self.family, self, elem, value)
641 return TypeFlag(self.family, self, elem, value)
643 return TypeString(self.family, self, elem, value)
645 return TypeBinary(self.family, self, elem, value)
647 return TypeNest(self.family, self, elem, value)
649 return TypeArrayNest(self.family, self, elem, value)
651 return TypeNestTypeValue(self.family, self, elem, value)
657 def __init__(self, family, yaml, req_value, rsp_value): argument
658 super().__init__(family, yaml, req_value, rsp_value)
663 self.render_name = family.name + '_' + c_lower(self.name)
676 self.enum_name = self.family.op_prefix + c_upper(self.name)
678 self.enum_name = self.family.async_op_prefix + c_upper(self.name)
876 def __init__(self, cw, family, ku_space, op, op_name, op_mode, attr_set=None): argument
877 self.family = family
905 self.struct[op_dir] = Struct(family, self.attr_set,
908 … self.struct['reply'] = Struct(family, self.attr_set, type_list=op['event']['attributes'])
1589 def print_ntf_parse_prototype(family, cw, suffix=';'): argument
1594 def print_ntf_type_parse(family, cw, ku_mode): argument
1595 print_ntf_parse_prototype(family, cw, suffix='')
1611 for ntf_op in sorted(family.all_notify.keys()):
1612 op = family.ops[ntf_op]
1613 ri = RenderInfo(cw, family, ku_mode, op, ntf_op, "notify")
1621 for op_name, op in family.ops.items():
1624 ri = RenderInfo(cw, family, ku_mode, op, op_name, "event")
1654 if terminate and ri and kernel_can_gen_family_struct(struct.family):
1660 if kernel_can_gen_family_struct(struct.family) and ri:
1684 def kernel_can_gen_family_struct(family): argument
1685 return family.proto == 'genetlink'
1688 def print_kernel_op_table_fwd(family, cw, terminate): argument
1689 exported = not kernel_can_gen_family_struct(family)
1697 struct_type = pol_to_struct[family.kernel_policy]
1699 if family.kernel_policy == 'split':
1701 for op in family.ops.values():
1707 cnt = len(family.ops)
1720 for name in family.hooks['pre']['do']['list']:
1724 for name in family.hooks['post']['do']['list']:
1728 for name in family.hooks['pre']['dump']['list']:
1731 for name in family.hooks['post']['dump']['list']:
1737 for op_name, op in family.ops.items():
1753 def print_kernel_op_table_hdr(family, cw): argument
1754 print_kernel_op_table_fwd(family, cw, terminate=True)
1757 def print_kernel_op_table(family, cw): argument
1758 print_kernel_op_table_fwd(family, cw, terminate=False)
1759 if family.kernel_policy == 'global' or family.kernel_policy == 'per-op':
1760 for op_name, op in family.ops.items():
1774 if family.kernel_policy == 'per-op':
1775 struct = Struct(family, op['attribute-set'],
1785 elif family.kernel_policy == 'split':
1789 for op_name, op in family.ops.items():
1807 struct = Struct(family, op['attribute-set'],
1825 def print_kernel_mcgrp_hdr(family, cw): argument
1826 if not family.mcgrps['list']:
1830 for grp in family.mcgrps['list']:
1837 def print_kernel_mcgrp_src(family, cw): argument
1838 if not family.mcgrps['list']:
1841 cw.block_start('static const struct genl_multicast_group ' + family.name + '_nl_mcgrps[] =')
1842 for grp in family.mcgrps['list']:
1850 def print_kernel_family_struct_hdr(family, cw): argument
1851 if not kernel_can_gen_family_struct(family):
1858 def print_kernel_family_struct_src(family, cw): argument
1859 if not kernel_can_gen_family_struct(family):
1863 cw.p('.name\t\t= ' + family.fam_key + ',')
1864 cw.p('.version\t= ' + family.ver_key + ',')
1868 if family.kernel_policy == 'per-op':
1871 elif family.kernel_policy == 'split':
1874 if family.mcgrps['list']:
1880 def uapi_enum_start(family, cw, obj, ckey='', enum_name='enum-name'): argument
1886 start_line = 'enum ' + family.name + '_' + c_lower(obj[ckey])
1890 def render_uapi(family, cw): argument
1896 defines = [(family.fam_key, family["name"]),
1897 (family.ver_key, family.get('version', 1))]
1902 for const in family['definitions']:
1910 enum = family.consts[const['name']]
1924 uapi_enum_start(family, cw, const, 'name')
1940 defines.append([c_upper(family.get('c-define-name',
1948 max_by_define = family.get('max-by-define', False)
1950 for _, attr_set in family.attr_sets.items():
1954 cnt_name = c_upper(family.get('attr-cnt-name', f"__{attr_set.name_prefix}MAX"))
1958 uapi_enum_start(family, cw, attr_set.yaml, 'enum-name')
1976 separate_ntf = 'async-prefix' in family['operations']
1978 max_name = c_upper(family.get('cmd-max-name', f"{family.op_prefix}MAX"))
1979 cnt_name = c_upper(family.get('cmd-cnt-name', f"__{family.op_prefix}MAX"))
1982 uapi_enum_start(family, cw, family['operations'], 'enum-name')
1984 for op in family.msgs.values():
2004 uapi_enum_start(family, cw, family['operations'], enum_name='async-enum')
2005 for op in family.msgs.values():
2018 for grp in family.mcgrps['list']: