Lines Matching +full:enum +full:- +full:as +full:- +full:flags

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)?$
21 required: [ name, doc, attribute-sets, operations ]
35 enum: [ genetlink, genetlink-c ]
36 uapi-header:
37 description: Path to the uAPI header, default is linux/${family-name}.h
39 # Start genetlink-c
40 c-family-name:
43 c-version-name:
46 max-by-define:
47 …description: Makes the number of attributes and commands be specified by a define, not an enum val…
49 # End genetlink-c
52 description: List of type and constant definitions (enums, flags, defines).
62 description: For C-compatible languages, header which already defines this value.
65 enum: [ const, enum, flags ]
70 description: For const - the value.
72 # For enum and flags
73 value-start:
74 description: For enum or flags the literal initializer for the first value.
77 description: For enum or flags array of values.
81 - type: string
82 - type: object
92 render-max:
93 description: Render the max members for this enum.
95 # Start genetlink-c
96 enum-name:
97 description: Name for enum, if empty no name will be used.
99 name-prefix:
100 description: For enum the prefix of the values, optional.
102 # End genetlink-c
104 attribute-sets:
117 name-prefix:
119 Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
121 enum-name:
122 description: Name for the enum type of the attribute.
127 subset-of:
129 Name of another space which this is a logical part of. Sub-spaces can be used to define
132 # Start genetlink-c
133 attr-cnt-name:
136 attr-max-name:
137 description: The explicit name for last member of attribute enum.
139 # End genetlink-c
150 type: &attr-type
151 enum: [ unused, pad, flag, binary, u8, u16, u32, u64, s32, s64,
152 string, nest, array-nest, nest-type-value ]
157 description: Value for the enum item representing this attribute in the uAPI.
159 type-value:
160 … description: Name of the value extracted from the type of a nest-type-value attribute.
164 byte-order:
165 enum: [ little-endian, big-endian ]
166 multi-attr:
168 nested-attributes:
169 description: Name of the space (sub-space) used inside the attribute.
171 enum:
172 description: Name of the enum type used for the attribute.
174 enum-as-flags:
176 Treat the enum as flags. In most cases enum is either used as flags or as values.
177 … Sometimes, however, both forms are necessary, in which case header contains the enum
185 flags-mask:
186 … description: Name of the flags constant on which to base mask (unsigned scalar types only).
191 min-len:
193 $ref: '#/$defs/len-or-define'
194 max-len:
196 $ref: '#/$defs/len-or-define'
197 sub-type: *attr-type
198 display-hint: &display-hint
203 enum: [ hex, mac, fddi, ipv4, ipv6, uuid ]
204 # Start genetlink-c
205 name-prefix:
207 # End genetlink-c
209 # Make sure name-prefix does not appear in subsets (subsets inherit naming)
211 name-prefix:
213 required: [ subset-of ]
214 subset-of:
216 required: [ name-prefix ]
224 enum-model:
228 to a single enum.
231 enum: [ unified ]
232 name-prefix:
234 Prefix for the C enum name of the command. The name is formed by concatenating
237 enum-name:
238 description: Name for the enum type with commands.
240 async-prefix:
241 … description: Same as name-prefix but used to render notifications and events to separate enum.
243 async-enum:
244 description: Name for the enum type with notifications/events.
255 description: Name of the operation, also defining its C enum value in uAPI.
261 description: Value for the enum in the uAPI.
263 attribute-set:
268 flags: &cmd_flags
269 description: Command flags.
272 enum: [ admin-perm ]
273 dont-validate:
274 description: Kernel attribute validation flags.
277 enum: [ strict, dump, dump-strict ]
278 do: &subop-type
283 request: &subop-attr-list
290 Names of attributes from the attribute-set (not full attribute
295 reply: *subop-attr-list
302 dump: *subop-type
318 mcast-groups:
336 # Start genetlink-c
337 c-define-name:
340 # End genetlink-c
341 flags: *cmd_flags