Lines Matching +full:attr +full:- +full:max +full:- +full:name

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)$
26 required: [ name, doc, attribute-sets, operations ]
29 name:
30 description: Name of the genetlink family.
36 enum: [ genetlink, genetlink-c, genetlink-legacy ] # Trim
37 uapi-header:
38 description: Path to the uAPI header, default is linux/${family-name}.h
40 # Start genetlink-c
41 c-family-name:
42 description: Name of the define for the family name.
44 c-version-name:
45 description: Name of the define for the version of the family.
47 max-by-define:
50 cmd-max-name:
51 description: Name of the define for the last operation in the list.
53 cmd-cnt-name:
54 … description: The explicit name for constant holding the count of operations (last operation + 1).
56 # End genetlink-c
57 # Start genetlink-legacy
58 kernel-policy:
60 … Defines if the input policy in the kernel is global, per-operation, or split per operation type.
62 enum: [ split, per-op, global ]
67 # End genetlink-legacy
74 required: [ type, name ]
77 name:
80 description: For C-compatible languages, header which already defines this value.
88 description: For const - the value.
91 value-start:
99 - type: string
100 - type: object
101 required: [ name ]
104 name:
110 render-max:
111 description: Render the max members for this enum.
113 # Start genetlink-c
114 enum-name:
115 description: Name for enum, if empty no name will be used.
117 name-prefix:
120 enum-cnt-name:
121 description: Name of the render-max counter enum entry.
123 # End genetlink-c
124 # Start genetlink-legacy
130 required: [ name, type ]
133 name:
139 $ref: '#/$defs/len-or-define'
140 byte-order:
141 enum: [ little-endian, big-endian ]
146 description: Name of the enum type used for the attribute.
148 display-hint: &display-hint
154 # End genetlink-legacy
156 attribute-sets:
162 required: [ name, attributes ]
165 name:
167Name used when referring to this space in other definitions, not used outside of the spec.
169 name-prefix:
171 Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
173 enum-name:
175 Name for the enum type of the attribute, if empty no name will be used.
180 subset-of:
182 Name of another space which this is a logical part of. Sub-spaces can be used to define
185 # Start genetlink-c
186 attr-cnt-name:
187 … description: The explicit name for constant holding the count of attributes (last attr + 1).
189 attr-max-name:
190 description: The explicit name for last member of attribute enum.
192 # End genetlink-c
198 required: [ name ]
201 name:
203 type: &attr-type
207 string, nest, indexed-array, nest-type-value ]
214 type-value:
215 … description: Name of the value extracted from the type of a nest-type-value attribute.
219 byte-order:
220 enum: [ little-endian, big-endian ]
221 multi-attr:
223 nested-attributes:
224 description: Name of the space (sub-space) used inside the attribute.
227 description: Name of the enum type used for the attribute.
229 enum-as-flags:
240 flags-mask:
241 … description: Name of the flags constant on which to base mask (unsigned scalar types only).
245 $ref: '#/$defs/len-or-limit'
246 max:
247 description: Max value for an integer attribute.
248 $ref: '#/$defs/len-or-limit'
249 min-len:
251 $ref: '#/$defs/len-or-define'
252 max-len:
253 description: Max length for a string or a binary attribute.
254 $ref: '#/$defs/len-or-define'
255 exact-len:
257 $ref: '#/$defs/len-or-define'
258 unterminated-ok:
263 sub-type: *attr-type
264 display-hint: *display-hint
265 # Start genetlink-c
266 name-prefix:
268 # End genetlink-c
269 # Start genetlink-legacy
271 description: Name of the struct type used for the attribute.
273 # End genetlink-legacy
275 # Make sure name-prefix does not appear in subsets (subsets inherit naming)
277 name-prefix:
279 required: [ subset-of ]
280 subset-of:
282 required: [ name-prefix ]
287 subset-of:
302 enum-model:
310 name-prefix:
312 Prefix for the C enum name of the command. The name is formed by concatenating
313 the prefix with the upper case name of the command, with dashes replaced by underscores.
315 enum-name:
317 Name for the enum type with commands, if empty no name will be used.
319 async-prefix:
320 … description: Same as name-prefix but used to render notifications and events to separate enum.
322 async-enum:
324 Name for the enum type with commands, if empty no name will be used.
326 # Start genetlink-legacy
327 fixed-header: &fixed-header
329 Name of the structure defining the optional fixed-length protocol
333 # End genetlink-legacy
340 required: [ name, doc ]
342 name:
343 description: Name of the operation, also defining its C enum value in uAPI.
351 attribute-set:
360 enum: [ admin-perm, uns-admin-perm ]
361 dont-validate:
365 enum: [ strict, dump, dump-strict ]
366 config-cond:
368 Name of the kernel config option gating the presence of
371 # Start genetlink-legacy
372 fixed-header: *fixed-header
373 # End genetlink-legacy
374 do: &subop-type
379 request: &subop-attr-list
386 Names of attributes from the attribute-set (not full attribute
391 # Start genetlink-legacy
397 # End genetlink-legacy
398 reply: *subop-attr-list
405 dump: *subop-type
407 description: Name of the command sharing the reply type with this notification.
419 description: Name of the multicast group generating given notification.
421 mcast-groups:
432 required: [ name ]
435 name:
437 The name for the group, used to form the define and the value of the define.
439 # Start genetlink-c
440 c-define-name:
441 description: Override for the name of the define in C uAPI.
443 # End genetlink-c
446 kernel-family:
458 sock-priv:
460 Literal name of the type which is used within the kernel