Lines Matching +full:enum +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-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 ]
30 name:
31 description: Name of the genetlink family.
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:
43 description: Name of the define for the family name.
45 c-version-name:
46 description: Name of the define for the version of the family.
48 max-by-define:
49 …description: Makes the number of attributes and commands be specified by a define, not an enum val…
51 cmd-max-name:
52 description: Name of the define for the last operation in the list.
54 cmd-cnt-name:
55 … description: The explicit name for constant holding the count of operations (last operation + 1).
57 # End genetlink-c
64 required: [ type, name ]
67 name:
70 description: For C-compatible languages, header which already defines this value.
73 enum: [ const, enum, flags ]
78 description: For const - the value.
80 # For enum and flags
81 value-start:
82 description: For enum or flags the literal initializer for the first value.
85 description: For enum or flags array of values.
89 - type: string
90 - type: object
91 required: [ name ]
94 name:
100 render-max:
101 description: Render the max members for this enum.
103 # Start genetlink-c
104 enum-name:
105 description: Name for enum, if empty no name will be used.
107 name-prefix:
108 description: For enum the prefix of the values, optional.
110 enum-cnt-name:
111 description: Name of the render-max counter enum entry.
113 # End genetlink-c
115 attribute-sets:
121 required: [ name, attributes ]
124 name:
126 … Name used when referring to this space in other definitions, not used outside of the spec.
128 name-prefix:
130 Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
132 enum-name:
134 Name for the enum type of the attribute, if empty no name will be used.
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:
146 … description: The explicit name for constant holding the count of attributes (last attr + 1).
148 attr-max-name:
149 description: The explicit name for last member of attribute enum.
151 # End genetlink-c
157 required: [ name ]
160 name:
162 type: &attr-type
163 enum: [ unused, pad, flag, binary,
165 string, nest, indexed-array, nest-type-value ]
170 description: Value for the enum item representing this attribute in the uAPI.
172 type-value:
173 … description: Name of the value extracted from the type of a nest-type-value attribute.
177 byte-order:
178 enum: [ little-endian, big-endian ]
179 multi-attr:
181 nested-attributes:
182 description: Name of the space (sub-space) used inside the attribute.
184 enum:
185 description: Name of the enum type used for the attribute.
187 enum-as-flags:
189 Treat the enum as flags. In most cases enum is either used as flags or as values.
190 … Sometimes, however, both forms are necessary, in which case header contains the enum
198 flags-mask:
199 … description: Name of the flags constant on which to base mask (unsigned scalar types only).
203 $ref: '#/$defs/len-or-limit'
206 $ref: '#/$defs/len-or-limit'
207 min-len:
209 $ref: '#/$defs/len-or-define'
210 max-len:
212 $ref: '#/$defs/len-or-define'
213 exact-len:
215 $ref: '#/$defs/len-or-define'
216 unterminated-ok:
221 sub-type: *attr-type
222 display-hint: &display-hint
227 enum: [ hex, mac, fddi, ipv4, ipv6, uuid ]
228 # Start genetlink-c
229 name-prefix:
231 # End genetlink-c
233 # Make sure name-prefix does not appear in subsets (subsets inherit naming)
235 name-prefix:
237 required: [ subset-of ]
238 subset-of:
240 required: [ name-prefix ]
245 subset-of:
260 enum-model:
264 to a single enum.
267 enum: [ unified ]
268 name-prefix:
270 Prefix for the C enum name of the command. The name is formed by concatenating
271 the prefix with the upper case name of the command, with dashes replaced by underscores.
273 enum-name:
275 Name for the enum type with commands, if empty no name will be used.
277 async-prefix:
278 … description: Same as name-prefix but used to render notifications and events to separate enum.
280 async-enum:
282 Name for the enum type with commands, if empty no name will be used.
290 required: [ name, doc ]
292 name:
293 description: Name of the operation, also defining its C enum value in uAPI.
299 description: Value for the enum in the uAPI.
301 attribute-set:
310 enum: [ admin-perm ]
311 dont-validate:
315 enum: [ strict, dump, dump-strict ]
316 config-cond:
318 Name of the kernel config option gating the presence of
321 do: &subop-type
326 request: &subop-attr-list
333 Names of attributes from the attribute-set (not full attribute
338 reply: *subop-attr-list
345 dump: *subop-type
347 description: Name of the command sharing the reply type with this notification.
359 description: Name of the multicast group generating given notification.
361 mcast-groups:
372 required: [ name ]
375 name:
377 The name for the group, used to form the define and the value of the define.
379 # Start genetlink-c
380 c-define-name:
381 description: Override for the name of the define in C uAPI.
383 # End genetlink-c
386 kernel-family:
398 sock-priv:
400 Literal name of the type which is used within the kernel