Loading Documentation/netlink/genetlink-legacy.yaml +3 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,9 @@ properties: doc: description: Documentation for the struct member attribute. type: string enum: description: Name of the enum type used for the attribute. type: string # End genetlink-legacy attribute-sets: Loading tools/net/ynl/lib/nlspec.py +2 −0 Original line number Diff line number Diff line Loading @@ -228,11 +228,13 @@ class SpecStructMember(SpecElement): Attributes: type string, type of the member attribute byte_order string or None for native byte order enum string, name of the enum definition """ def __init__(self, family, yaml): super().__init__(family, yaml) self.type = yaml['type'] self.byte_order = yaml.get('byte-order') self.enum = yaml.get('enum') class SpecStruct(SpecElement): Loading tools/net/ynl/lib/ynl.py +5 −1 Original line number Diff line number Diff line Loading @@ -412,7 +412,11 @@ class YnlFamily(SpecFamily): def _decode_binary(self, attr, attr_spec): if attr_spec.struct_name: decoded = attr.as_struct(self.consts[attr_spec.struct_name]) members = self.consts[attr_spec.struct_name] decoded = attr.as_struct(members) for m in members: if m.enum: self._decode_enum(decoded, m) elif attr_spec.sub_type: decoded = attr.as_c_array(attr_spec.sub_type) else: Loading Loading
Documentation/netlink/genetlink-legacy.yaml +3 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,9 @@ properties: doc: description: Documentation for the struct member attribute. type: string enum: description: Name of the enum type used for the attribute. type: string # End genetlink-legacy attribute-sets: Loading
tools/net/ynl/lib/nlspec.py +2 −0 Original line number Diff line number Diff line Loading @@ -228,11 +228,13 @@ class SpecStructMember(SpecElement): Attributes: type string, type of the member attribute byte_order string or None for native byte order enum string, name of the enum definition """ def __init__(self, family, yaml): super().__init__(family, yaml) self.type = yaml['type'] self.byte_order = yaml.get('byte-order') self.enum = yaml.get('enum') class SpecStruct(SpecElement): Loading
tools/net/ynl/lib/ynl.py +5 −1 Original line number Diff line number Diff line Loading @@ -412,7 +412,11 @@ class YnlFamily(SpecFamily): def _decode_binary(self, attr, attr_spec): if attr_spec.struct_name: decoded = attr.as_struct(self.consts[attr_spec.struct_name]) members = self.consts[attr_spec.struct_name] decoded = attr.as_struct(members) for m in members: if m.enum: self._decode_enum(decoded, m) elif attr_spec.sub_type: decoded = attr.as_c_array(attr_spec.sub_type) else: Loading