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
9 name:
11 pattern: ^[0-9a-z-]+$
15 len-or-define:
17 pattern: ^[0-9A-Za-z_-]+( - 1)?$
19 len-or-limit:
20 # literal int, const name, or limit based on fixed-width type
21 # e.g. u8-min, u16-max, etc.
23 pattern: ^[0-9A-Za-z_-]+$
30 required: [ name, doc, attribute-sets, operations ]
33 name:
34 description: Name of the genetlink family.
35 $ref: '#/$defs/name'
41 uapi-header:
42 description: Path to the uAPI header, default is linux/${family-name}.h
50 required: [ type, name ]
53 name:
54 $ref: '#/$defs/name'
56 description: For C-compatible languages, header which already defines this value.
64 description: For const - the value.
67 value-start:
75 - type: string
76 - type: object
77 required: [ name ]
80 name:
81 $ref: '#/$defs/name'
86 render-max:
87 description: Render the max members for this enum.
90 attribute-sets:
96 required: [ name, attributes ]
99 name:
101 … Name used when referring to this space in other definitions, not used outside of the spec.
102 $ref: '#/$defs/name'
103 name-prefix:
105 Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
107 enum-name:
108 description: Name for the enum type of the attribute.
113 subset-of:
115 Name of another space which this is a logical part of. Sub-spaces can be used to define
123 required: [ name ]
126 name:
127 $ref: '#/$defs/name'
128 type: &attr-type
131 string, nest, indexed-array, nest-type-value ]
138 type-value:
139 … description: Name of the value extracted from the type of a nest-type-value attribute.
143 byte-order:
144 enum: [ little-endian, big-endian ]
145 multi-attr:
147 nested-attributes:
148 description: Name of the space (sub-space) used inside the attribute.
151 description: Name of the enum type used for the attribute.
153 enum-as-flags:
164 flags-mask:
165 … description: Name of the flags constant on which to base mask (unsigned scalar types only).
169 $ref: '#/$defs/len-or-limit'
170 max:
171 description: Max value for an integer attribute.
172 $ref: '#/$defs/len-or-limit'
173 min-len:
175 $ref: '#/$defs/len-or-define'
176 max-len:
177 description: Max length for a string or a binary attribute.
178 $ref: '#/$defs/len-or-define'
179 exact-len:
181 $ref: '#/$defs/len-or-define'
182 sub-type: *attr-type
183 display-hint: &display-hint
190 # Make sure name-prefix does not appear in subsets (subsets inherit naming)
192 name-prefix:
194 required: [ subset-of ]
195 subset-of:
197 required: [ name-prefix ]
202 subset-of:
217 enum-model:
225 name-prefix:
227 Prefix for the C enum name of the command. The name is formed by concatenating
228 the prefix with the upper case name of the command, with dashes replaced by underscores.
230 enum-name:
231 description: Name for the enum type with commands.
233 async-prefix:
234 … description: Same as name-prefix but used to render notifications and events to separate enum.
236 async-enum:
237 description: Name for the enum type with notifications/events.
245 required: [ name, doc ]
247 name:
248 description: Name of the operation, also defining its C enum value in uAPI.
249 $ref: '#/$defs/name'
256 attribute-set:
265 enum: [ admin-perm ]
266 dont-validate:
270 enum: [ strict, dump, dump-strict ]
271 config-cond:
273 Name of the kernel config option gating the presence of
276 do: &subop-type
281 request: &subop-attr-list
288 Names of attributes from the attribute-set (not full attribute
293 reply: *subop-attr-list
300 dump: *subop-type
302 description: Name of the command sharing the reply type with this notification.
314 description: Name of the multicast group generating given notification.
316 mcast-groups:
327 required: [ name ]
330 name:
332 The name for the group, used to form the define and the value of the define.
333 $ref: '#/$defs/name'
336 kernel-family:
348 sock-priv:
350 Literal name of the type which is used within the kernel