Lines Matching +full:uapi +full:- +full:header
1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
3 ---
4 $id: http://kernel.org/schemas/netlink/genetlink-c.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, const name, or limit based on fixed-width type
18 # e.g. u8-min, u16-max, etc.
20 pattern: ^[0-9A-Za-z_-]+$
27 required: [ name, doc, attribute-sets, operations ]
37 enum: [ genetlink, genetlink-c ]
38 uapi-header:
39 description: Path to the uAPI header, default is linux/${family-name}.h
41 # Start genetlink-c
42 c-family-name:
45 c-version-name:
48 max-by-define:
51 cmd-max-name:
54 cmd-cnt-name:
57 # End genetlink-c
69 header:
70 description: For C-compatible languages, header which already defines this value.
78 description: For const - the value.
81 value-start:
89 - type: string
90 - type: object
100 render-max:
103 # Start genetlink-c
104 enum-name:
107 name-prefix:
110 enum-cnt-name:
111 description: Name of the render-max counter enum entry.
113 # End genetlink-c
115 attribute-sets:
128 name-prefix:
130 Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
132 enum-name:
139 subset-of:
141 Name of another space which this is a logical part of. Sub-spaces can be used to define
144 # Start genetlink-c
145 attr-cnt-name:
148 attr-max-name:
151 header:
152 description: For C-compatible languages, header which already defines this attribute set.
154 # End genetlink-c
165 type: &attr-type
168 string, nest, indexed-array, nest-type-value ]
173 description: Value for the enum item representing this attribute in the uAPI.
175 type-value:
176 description: Name of the value extracted from the type of a nest-type-value attribute.
180 byte-order:
181 enum: [ little-endian, big-endian ]
182 multi-attr:
184 nested-attributes:
185 description: Name of the space (sub-space) used inside the attribute.
190 enum-as-flags:
193 Sometimes, however, both forms are necessary, in which case header contains the enum
201 flags-mask:
206 $ref: '#/$defs/len-or-limit'
209 $ref: '#/$defs/len-or-limit'
210 min-len:
212 $ref: '#/$defs/len-or-define'
213 max-len:
215 $ref: '#/$defs/len-or-define'
216 exact-len:
218 $ref: '#/$defs/len-or-define'
219 unterminated-ok:
224 sub-type: *attr-type
225 display-hint: &display-hint
231 # Start genetlink-c
232 name-prefix:
234 # End genetlink-c
236 # Make sure name-prefix does not appear in subsets (subsets inherit naming)
238 name-prefix:
240 required: [ subset-of ]
241 subset-of:
243 required: [ name-prefix ]
248 subset-of:
263 enum-model:
271 name-prefix:
276 enum-name:
280 async-prefix:
281 description: Same as name-prefix but used to render notifications and events to separate enum.
283 async-enum:
296 description: Name of the operation, also defining its C enum value in uAPI.
302 description: Value for the enum in the uAPI.
304 attribute-set:
313 enum: [ admin-perm ]
314 dont-validate:
318 enum: [ strict, dump, dump-strict ]
319 config-cond:
324 do: &subop-type
329 request: &subop-attr-list
336 Names of attributes from the attribute-set (not full attribute
341 reply: *subop-attr-list
348 dump: *subop-type
364 mcast-groups:
382 # Start genetlink-c
383 c-define-name:
384 description: Override for the name of the define in C uAPI.
386 # End genetlink-c
389 kernel-family:
401 sock-priv: