Lines Matching +full:json +full:- +full:schema

1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
3 ---
4 $id: http://kernel.org/schemas/netlink/netlink-raw.yaml#
5 $schema: https://json-schema.org/draft-07/schema
11 pattern: ^[0-9a-z-]+$
12 name-cap:
14 pattern: ^[0-9a-zA-Z-]+$
18 len-or-define:
20 pattern: ^[0-9A-Za-z_-]+( - 1)?$
23 # Schema for specs
27 required: [ name, doc, attribute-sets, operations ]
36 description: Schema compatibility level.
37 enum: [ netlink-raw ] # Trim
38 # Start netlink-raw
40 description: Protocol number to use for netlink-raw
42 # End netlink-raw
43 uapi-header:
44 description: Path to the uAPI header, default is linux/${family-name}.h
46 # Start genetlink-c
47 c-family-name:
50 c-version-name:
53 max-by-define:
56 cmd-max-name:
59 cmd-cnt-name:
62 # End genetlink-c
63 # Start genetlink-legacy
64 kernel-policy:
66 … Defines if the input policy in the kernel is global, per-operation, or split per operation type.
68 enum: [ split, per-op, global ]
69 # End genetlink-legacy
82 description: For C-compatible languages, header which already defines this value.
90 description: For const - the value.
93 value-start:
101 - type: string
102 - type: object
112 render-max:
115 # Start genetlink-c
116 enum-name:
119 name-prefix:
122 # End genetlink-c
123 # Start genetlink-legacy
133 $ref: '#/$defs/name-cap'
140 $ref: '#/$defs/len-or-define'
141 byte-order:
142 enum: [ little-endian, big-endian ]
149 enum-as-flags:
155 display-hint: &display-hint
176 - required: [ len ]
177 - required: [ struct ]
178 # End genetlink-legacy
180 attribute-sets:
193 name-prefix:
195 Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
197 enum-name:
204 subset-of:
206 Name of another space which this is a logical part of. Sub-spaces can be used to define
209 # Start genetlink-c
210 attr-cnt-name:
213 attr-max-name:
217 description: For C-compatible languages, header which already defines this attribute set.
219 # End genetlink-c
230 type: &attr-type
234 string, nest, indexed-array, nest-type-value,
235 sub-message ]
242 type-value:
243 … description: Name of the value extracted from the type of a nest-type-value attribute.
247 byte-order:
248 enum: [ little-endian, big-endian ]
249 multi-attr:
251 nested-attributes:
252 description: Name of the space (sub-space) used inside the attribute.
257 enum-as-flags:
268 flags-mask:
274 min-len:
276 $ref: '#/$defs/len-or-define'
277 max-len:
279 $ref: '#/$defs/len-or-define'
280 exact-len:
282 $ref: '#/$defs/len-or-define'
283 unterminated-ok:
288 sub-type: *attr-type
289 display-hint: *display-hint
290 # Start genetlink-c
291 name-prefix:
293 # End genetlink-c
294 # Start genetlink-legacy
298 # End genetlink-legacy
299 # Start netlink-raw
300 sub-message:
302 Name of the sub-message definition to use for the attribute.
306 Name of the attribute to use for dynamic selection of sub-message
309 # End netlink-raw
311 # Make sure name-prefix does not appear in subsets (subsets inherit naming)
313 name-prefix:
315 required: [ subset-of ]
316 subset-of:
318 required: [ name-prefix ]
323 subset-of:
332 # Start netlink-raw
333 sub-messages:
342 description: Name of the sub-message definition
354 Value to match for dynamic selection of sub-message format
357 fixed-header:
362 attribute-set:
367 # End netlink-raw
375 enum-model:
383 name-prefix:
388 enum-name:
392 async-prefix:
393 … description: Same as name-prefix but used to render notifications and events to separate enum.
395 async-enum:
399 # Start genetlink-legacy
400 fixed-header: &fixed-header
402 Name of the structure defining the optional fixed-length protocol
406 # End genetlink-legacy
424 attribute-set:
433 enum: [ admin-perm ]
434 dont-validate:
439 # Start genetlink-legacy
440 fixed-header: *fixed-header
441 # End genetlink-legacy
442 do: &subop-type
447 request: &subop-attr-list
454 Names of attributes from the attribute-set (not full attribute
459 # Start genetlink-legacy
465 # End genetlink-legacy
466 reply: *subop-attr-list
473 dump: *subop-type
489 mcast-groups:
507 # Start genetlink-c
508 c-define-name:
511 # End genetlink-c
513 # Start netlink-raw
517 # End netlink-raw