Lines Matching +full:subset +full:- +full:of
1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
3 ---
4 $id: http://kernel.org/schemas/netlink/genetlink-legacy.yaml#
5 $schema: https://json-schema.org/draft-07/schema
12 len-or-define:
14 pattern: ^[0-9A-Za-z_-]+( - 1)?$
16 len-or-limit:
17 # literal int or limit based on fixed-width type e.g. u8-min, u16-max, etc.
19 pattern: ^[su](8|16|32|64)-(min|max)$
24 description: Specification of a genetlink protocol
26 required: [ name, doc, attribute-sets, operations ]
30 description: Name of the genetlink family.
37 uapi-header:
38 description: Path to the uAPI header, default is linux/${family-name}.h
42 description: List of type and constant definitions (enums, flags, defines).
52 description: For C-compatible languages, header which already defines this value.
60 description: For const - the value.
63 value-start:
67 description: For enum or flags array of values.
71 - type: string
72 - type: object
82 render-max:
86 attribute-sets:
87 description: Definition of attribute spaces for this family.
90 description: Definition of a single attribute space.
97 … Name used when referring to this space in other definitions, not used outside of the spec.
99 name-prefix:
101 Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
103 enum-name:
104 description: Name for the enum type of the attribute.
107 description: Documentation of the space.
109 subset-of:
111 Name of another space which this is a logical part of. Sub-spaces can be used to define
112 a limited group of attributes which are used in a nest.
115 description: List of attributes in the space.
124 type: &attr-type
127 string, nest, indexed-array, nest-type-value ]
129 description: Documentation of the attribute.
134 type-value:
135 … description: Name of the value extracted from the type of a nest-type-value attribute.
139 byte-order:
140 enum: [ little-endian, big-endian ]
141 multi-attr:
143 nested-attributes:
144 description: Name of the space (sub-space) used inside the attribute.
147 description: Name of the enum type used for the attribute.
149 enum-as-flags:
160 flags-mask:
161 … description: Name of the flags constant on which to base mask (unsigned scalar types only).
165 $ref: '#/$defs/len-or-limit'
168 $ref: '#/$defs/len-or-limit'
169 min-len:
171 $ref: '#/$defs/len-or-define'
172 max-len:
174 $ref: '#/$defs/len-or-define'
175 exact-len:
177 $ref: '#/$defs/len-or-define'
178 sub-type: *attr-type
179 display-hint: &display-hint
182 the right formatting mechanism when displaying values of this
186 # Make sure name-prefix does not appear in subsets (subsets inherit naming)
188 name-prefix:
190 required: [ subset-of ]
191 subset-of:
193 required: [ name-prefix ]
195 # type property is only required if not in subset definition
198 subset-of:
213 enum-model:
215 The model of assigning values to the operations.
221 name-prefix:
223 Prefix for the C enum name of the command. The name is formed by concatenating
224 the prefix with the upper case name of the command, with dashes replaced by underscores.
226 enum-name:
229 async-prefix:
230 … description: Same as name-prefix but used to render notifications and events to separate enum.
232 async-enum:
236 description: List of commands
244 description: Name of the operation, also defining its C enum value in uAPI.
252 attribute-set:
261 enum: [ admin-perm ]
262 dont-validate:
266 enum: [ strict, dump, dump-strict ]
267 config-cond:
269 Name of the kernel config option gating the presence of
272 do: &subop-type
277 request: &subop-attr-list
278 description: Definition of the request message for a given command.
284 Names of attributes from the attribute-set (not full attribute
289 reply: *subop-attr-list
296 dump: *subop-type
298 description: Name of the command sharing the reply type with this notification.
305 description: Explicit list of the attributes for the notification.
310 description: Name of the multicast group generating given notification.
312 mcast-groups:
313 description: List of multicast groups.
319 description: List of groups.
328 The name for the group, used to form the define and the value of the define.
332 kernel-family:
339 List of extra headers which should be included in the source
340 of the generated code.
344 sock-priv:
346 Literal name of the type which is used within the kernel