~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/netlink/genetlink.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/netlink/genetlink.yaml (Version linux-6.12-rc7) and /Documentation/netlink/genetlink.yaml (Version linux-6.11.7)


  1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linu      1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
  2 %YAML 1.2                                           2 %YAML 1.2
  3 ---                                                 3 ---
  4 $id: http://kernel.org/schemas/netlink/genetli      4 $id: http://kernel.org/schemas/netlink/genetlink-legacy.yaml#
  5 $schema: https://json-schema.org/draft-07/sche      5 $schema: https://json-schema.org/draft-07/schema
  6                                                     6 
  7 # Common defines                                    7 # Common defines
  8 $defs:                                              8 $defs:
  9   uint:                                             9   uint:
 10     type: integer                                  10     type: integer
 11     minimum: 0                                     11     minimum: 0
 12   len-or-define:                                   12   len-or-define:
 13     type: [ string, integer ]                      13     type: [ string, integer ]
 14     pattern: ^[0-9A-Za-z_-]+( - 1)?$               14     pattern: ^[0-9A-Za-z_-]+( - 1)?$
 15     minimum: 0                                     15     minimum: 0
 16   len-or-limit:                                    16   len-or-limit:
 17     # literal int or limit based on fixed-widt     17     # literal int or limit based on fixed-width type e.g. u8-min, u16-max, etc.
 18     type: [ string, integer ]                      18     type: [ string, integer ]
 19     pattern: ^[su](8|16|32|64)-(min|max)$          19     pattern: ^[su](8|16|32|64)-(min|max)$
 20     minimum: 0                                     20     minimum: 0
 21                                                    21 
 22 # Schema for specs                                 22 # Schema for specs
 23 title: Protocol                                    23 title: Protocol
 24 description: Specification of a genetlink prot     24 description: Specification of a genetlink protocol
 25 type: object                                       25 type: object
 26 required: [ name, doc, attribute-sets, operati     26 required: [ name, doc, attribute-sets, operations ]
 27 additionalProperties: False                        27 additionalProperties: False
 28 properties:                                        28 properties:
 29   name:                                            29   name:
 30     description: Name of the genetlink family.     30     description: Name of the genetlink family.
 31     type: string                                   31     type: string
 32   doc:                                             32   doc:
 33     type: string                                   33     type: string
 34   protocol:                                        34   protocol:
 35     description: Schema compatibility level. D     35     description: Schema compatibility level. Default is "genetlink".
 36     enum: [ genetlink ]                            36     enum: [ genetlink ]
 37   uapi-header:                                     37   uapi-header:
 38     description: Path to the uAPI header, defa     38     description: Path to the uAPI header, default is linux/${family-name}.h
 39     type: string                                   39     type: string
 40                                                    40 
 41   definitions:                                     41   definitions:
 42     description: List of type and constant def     42     description: List of type and constant definitions (enums, flags, defines).
 43     type: array                                    43     type: array
 44     items:                                         44     items:
 45       type: object                                 45       type: object
 46       required: [ type, name ]                     46       required: [ type, name ]
 47       additionalProperties: False                  47       additionalProperties: False
 48       properties:                                  48       properties:
 49         name:                                      49         name:
 50           type: string                             50           type: string
 51         header:                                    51         header:
 52           description: For C-compatible langua     52           description: For C-compatible languages, header which already defines this value.
 53           type: string                             53           type: string
 54         type:                                      54         type:
 55           enum: [ const, enum, flags ]             55           enum: [ const, enum, flags ]
 56         doc:                                       56         doc:
 57           type: string                             57           type: string
 58         # For const                                58         # For const
 59         value:                                     59         value:
 60           description: For const - the value.      60           description: For const - the value.
 61           type: [ string, integer ]                61           type: [ string, integer ]
 62         # For enum and flags                       62         # For enum and flags
 63         value-start:                               63         value-start:
 64           description: For enum or flags the l     64           description: For enum or flags the literal initializer for the first value.
 65           type: [ string, integer ]                65           type: [ string, integer ]
 66         entries:                                   66         entries:
 67           description: For enum or flags array     67           description: For enum or flags array of values.
 68           type: array                              68           type: array
 69           items:                                   69           items:
 70             oneOf:                                 70             oneOf:
 71               - type: string                       71               - type: string
 72               - type: object                       72               - type: object
 73                 required: [ name ]                 73                 required: [ name ]
 74                 additionalProperties: False        74                 additionalProperties: False
 75                 properties:                        75                 properties:
 76                   name:                            76                   name:
 77                     type: string                   77                     type: string
 78                   value:                           78                   value:
 79                     type: integer                  79                     type: integer
 80                   doc:                             80                   doc:
 81                     type: string                   81                     type: string
 82         render-max:                                82         render-max:
 83           description: Render the max members      83           description: Render the max members for this enum.
 84           type: boolean                            84           type: boolean
 85                                                    85 
 86   attribute-sets:                                  86   attribute-sets:
 87     description: Definition of attribute space     87     description: Definition of attribute spaces for this family.
 88     type: array                                    88     type: array
 89     items:                                         89     items:
 90       description: Definition of a single attr     90       description: Definition of a single attribute space.
 91       type: object                                 91       type: object
 92       required: [ name, attributes ]               92       required: [ name, attributes ]
 93       additionalProperties: False                  93       additionalProperties: False
 94       properties:                                  94       properties:
 95         name:                                      95         name:
 96           description: |                           96           description: |
 97             Name used when referring to this s     97             Name used when referring to this space in other definitions, not used outside of the spec.
 98           type: string                             98           type: string
 99         name-prefix:                               99         name-prefix:
100           description: |                          100           description: |
101             Prefix for the C enum name of the     101             Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
102           type: string                            102           type: string
103         enum-name:                                103         enum-name:
104           description: Name for the enum type     104           description: Name for the enum type of the attribute.
105           type: string                            105           type: string
106         doc:                                      106         doc:
107           description: Documentation of the sp    107           description: Documentation of the space.
108           type: string                            108           type: string
109         subset-of:                                109         subset-of:
110           description: |                          110           description: |
111             Name of another space which this i    111             Name of another space which this is a logical part of. Sub-spaces can be used to define
112             a limited group of attributes whic    112             a limited group of attributes which are used in a nest.
113           type: string                            113           type: string
114         attributes:                               114         attributes:
115           description: List of attributes in t    115           description: List of attributes in the space.
116           type: array                             116           type: array
117           items:                                  117           items:
118             type: object                          118             type: object
119             required: [ name ]                    119             required: [ name ]
120             additionalProperties: False           120             additionalProperties: False
121             properties:                           121             properties:
122               name:                               122               name:
123                 type: string                      123                 type: string
124               type: &attr-type                    124               type: &attr-type
125                 enum: [ unused, pad, flag, bin    125                 enum: [ unused, pad, flag, binary,
126                         uint, sint, u8, u16, u    126                         uint, sint, u8, u16, u32, u64, s32, s64,
127                         string, nest, indexed-    127                         string, nest, indexed-array, nest-type-value ]
128               doc:                                128               doc:
129                 description: Documentation of     129                 description: Documentation of the attribute.
130                 type: string                      130                 type: string
131               value:                              131               value:
132                 description: Value for the enu    132                 description: Value for the enum item representing this attribute in the uAPI.
133                 $ref: '#/$defs/uint'              133                 $ref: '#/$defs/uint'
134               type-value:                         134               type-value:
135                 description: Name of the value    135                 description: Name of the value extracted from the type of a nest-type-value attribute.
136                 type: array                       136                 type: array
137                 items:                            137                 items:
138                   type: string                    138                   type: string
139               byte-order:                         139               byte-order:
140                 enum: [ little-endian, big-end    140                 enum: [ little-endian, big-endian ]
141               multi-attr:                         141               multi-attr:
142                 type: boolean                     142                 type: boolean
143               nested-attributes:                  143               nested-attributes:
144                 description: Name of the space    144                 description: Name of the space (sub-space) used inside the attribute.
145                 type: string                      145                 type: string
146               enum:                               146               enum:
147                 description: Name of the enum     147                 description: Name of the enum type used for the attribute.
148                 type: string                      148                 type: string
149               enum-as-flags:                      149               enum-as-flags:
150                 description: |                    150                 description: |
151                   Treat the enum as flags. In     151                   Treat the enum as flags. In most cases enum is either used as flags or as values.
152                   Sometimes, however, both for    152                   Sometimes, however, both forms are necessary, in which case header contains the enum
153                   form while specific attribut    153                   form while specific attributes may request to convert the values into a bitfield.
154                 type: boolean                     154                 type: boolean
155               checks:                             155               checks:
156                 description: Kernel input vali    156                 description: Kernel input validation.
157                 type: object                      157                 type: object
158                 additionalProperties: False       158                 additionalProperties: False
159                 properties:                       159                 properties:
160                   flags-mask:                     160                   flags-mask:
161                     description: Name of the f    161                     description: Name of the flags constant on which to base mask (unsigned scalar types only).
162                     type: string                  162                     type: string
163                   min:                            163                   min:
164                     description: Min value for    164                     description: Min value for an integer attribute.
165                     $ref: '#/$defs/len-or-limi    165                     $ref: '#/$defs/len-or-limit'
166                   max:                            166                   max:
167                     description: Max value for    167                     description: Max value for an integer attribute.
168                     $ref: '#/$defs/len-or-limi    168                     $ref: '#/$defs/len-or-limit'
169                   min-len:                        169                   min-len:
170                     description: Min length fo    170                     description: Min length for a binary attribute.
171                     $ref: '#/$defs/len-or-defi    171                     $ref: '#/$defs/len-or-define'
172                   max-len:                        172                   max-len:
173                     description: Max length fo    173                     description: Max length for a string or a binary attribute.
174                     $ref: '#/$defs/len-or-defi    174                     $ref: '#/$defs/len-or-define'
175                   exact-len:                      175                   exact-len:
176                     description: Exact length     176                     description: Exact length for a string or a binary attribute.
177                     $ref: '#/$defs/len-or-defi    177                     $ref: '#/$defs/len-or-define'
178               sub-type: *attr-type                178               sub-type: *attr-type
179               display-hint: &display-hint         179               display-hint: &display-hint
180                 description: |                    180                 description: |
181                   Optional format indicator th    181                   Optional format indicator that is intended only for choosing
182                   the right formatting mechani    182                   the right formatting mechanism when displaying values of this
183                   type.                           183                   type.
184                 enum: [ hex, mac, fddi, ipv4,     184                 enum: [ hex, mac, fddi, ipv4, ipv6, uuid ]
185                                                   185 
186       # Make sure name-prefix does not appear     186       # Make sure name-prefix does not appear in subsets (subsets inherit naming)
187       dependencies:                               187       dependencies:
188         name-prefix:                              188         name-prefix:
189           not:                                    189           not:
190             required: [ subset-of ]               190             required: [ subset-of ]
191         subset-of:                                191         subset-of:
192           not:                                    192           not:
193             required: [ name-prefix ]             193             required: [ name-prefix ]
194                                                   194 
195       # type property is only required if not     195       # type property is only required if not in subset definition
196       if:                                         196       if:
197         properties:                               197         properties:
198           subset-of:                              198           subset-of:
199             not:                                  199             not:
200               type: string                        200               type: string
201       then:                                       201       then:
202         properties:                               202         properties:
203           attributes:                             203           attributes:
204             items:                                204             items:
205               required: [ type ]                  205               required: [ type ]
206                                                   206 
207   operations:                                     207   operations:
208     description: Operations supported by the p    208     description: Operations supported by the protocol.
209     type: object                                  209     type: object
210     required: [ list ]                            210     required: [ list ]
211     additionalProperties: False                   211     additionalProperties: False
212     properties:                                   212     properties:
213       enum-model:                                 213       enum-model:
214         description: |                            214         description: |
215           The model of assigning values to the    215           The model of assigning values to the operations.
216           "unified" is the recommended model w    216           "unified" is the recommended model where all message types belong
217           to a single enum.                       217           to a single enum.
218           "directional" has the messages sent     218           "directional" has the messages sent to the kernel and from the kernel
219           enumerated separately.                  219           enumerated separately.
220         enum: [ unified ]                         220         enum: [ unified ]
221       name-prefix:                                221       name-prefix:
222         description: |                            222         description: |
223           Prefix for the C enum name of the co    223           Prefix for the C enum name of the command. The name is formed by concatenating
224           the prefix with the upper case name     224           the prefix with the upper case name of the command, with dashes replaced by underscores.
225         type: string                              225         type: string
226       enum-name:                                  226       enum-name:
227         description: Name for the enum type wi    227         description: Name for the enum type with commands.
228         type: string                              228         type: string
229       async-prefix:                               229       async-prefix:
230         description: Same as name-prefix but u    230         description: Same as name-prefix but used to render notifications and events to separate enum.
231         type: string                              231         type: string
232       async-enum:                                 232       async-enum:
233         description: Name for the enum type wi    233         description: Name for the enum type with notifications/events.
234         type: string                              234         type: string
235       list:                                       235       list:
236         description: List of commands             236         description: List of commands
237         type: array                               237         type: array
238         items:                                    238         items:
239           type: object                            239           type: object
240           additionalProperties: False             240           additionalProperties: False
241           required: [ name, doc ]                 241           required: [ name, doc ]
242           properties:                             242           properties:
243             name:                                 243             name:
244               description: Name of the operati    244               description: Name of the operation, also defining its C enum value in uAPI.
245               type: string                        245               type: string
246             doc:                                  246             doc:
247               description: Documentation for t    247               description: Documentation for the command.
248               type: string                        248               type: string
249             value:                                249             value:
250               description: Value for the enum     250               description: Value for the enum in the uAPI.
251               $ref: '#/$defs/uint'                251               $ref: '#/$defs/uint'
252             attribute-set:                        252             attribute-set:
253               description: |                      253               description: |
254                 Attribute space from which att    254                 Attribute space from which attributes directly in the requests and replies
255                 to this command are defined.      255                 to this command are defined.
256               type: string                        256               type: string
257             flags: &cmd_flags                     257             flags: &cmd_flags
258               description: Command flags.         258               description: Command flags.
259               type: array                         259               type: array
260               items:                              260               items:
261                 enum: [ admin-perm ]              261                 enum: [ admin-perm ]
262             dont-validate:                        262             dont-validate:
263               description: Kernel attribute va    263               description: Kernel attribute validation flags.
264               type: array                         264               type: array
265               items:                              265               items:
266                 enum: [ strict, dump, dump-str    266                 enum: [ strict, dump, dump-strict ]
267             config-cond:                          267             config-cond:
268               description: |                      268               description: |
269                 Name of the kernel config opti    269                 Name of the kernel config option gating the presence of
270                 the operation, without the 'CO    270                 the operation, without the 'CONFIG_' prefix.
271               type: string                        271               type: string
272             do: &subop-type                       272             do: &subop-type
273               description: Main command handle    273               description: Main command handler.
274               type: object                        274               type: object
275               additionalProperties: False         275               additionalProperties: False
276               properties:                         276               properties:
277                 request: &subop-attr-list         277                 request: &subop-attr-list
278                   description: Definition of t    278                   description: Definition of the request message for a given command.
279                   type: object                    279                   type: object
280                   additionalProperties: False     280                   additionalProperties: False
281                   properties:                     281                   properties:
282                     attributes:                   282                     attributes:
283                       description: |              283                       description: |
284                         Names of attributes fr    284                         Names of attributes from the attribute-set (not full attribute
285                         definitions, just name    285                         definitions, just names).
286                       type: array                 286                       type: array
287                       items:                      287                       items:
288                         type: string              288                         type: string
289                 reply: *subop-attr-list           289                 reply: *subop-attr-list
290                 pre:                              290                 pre:
291                   description: Hook for a func    291                   description: Hook for a function to run before the main callback (pre_doit or start).
292                   type: string                    292                   type: string
293                 post:                             293                 post:
294                   description: Hook for a func    294                   description: Hook for a function to run after the main callback (post_doit or done).
295                   type: string                    295                   type: string
296             dump: *subop-type                     296             dump: *subop-type
297             notify:                               297             notify:
298               description: Name of the command    298               description: Name of the command sharing the reply type with this notification.
299               type: string                        299               type: string
300             event:                                300             event:
301               type: object                        301               type: object
302               additionalProperties: False         302               additionalProperties: False
303               properties:                         303               properties:
304                 attributes:                       304                 attributes:
305                   description: Explicit list o    305                   description: Explicit list of the attributes for the notification.
306                   type: array                     306                   type: array
307                   items:                          307                   items:
308                     type: string                  308                     type: string
309             mcgrp:                                309             mcgrp:
310               description: Name of the multica    310               description: Name of the multicast group generating given notification.
311               type: string                        311               type: string
312   mcast-groups:                                   312   mcast-groups:
313     description: List of multicast groups.        313     description: List of multicast groups.
314     type: object                                  314     type: object
315     required: [ list ]                            315     required: [ list ]
316     additionalProperties: False                   316     additionalProperties: False
317     properties:                                   317     properties:
318       list:                                       318       list:
319         description: List of groups.              319         description: List of groups.
320         type: array                               320         type: array
321         items:                                    321         items:
322           type: object                            322           type: object
323           required: [ name ]                      323           required: [ name ]
324           additionalProperties: False             324           additionalProperties: False
325           properties:                             325           properties:
326             name:                                 326             name:
327               description: |                      327               description: |
328                 The name for the group, used t    328                 The name for the group, used to form the define and the value of the define.
329               type: string                        329               type: string
330             flags: *cmd_flags                     330             flags: *cmd_flags
331                                                   331 
332   kernel-family:                                  332   kernel-family:
333     description: Additional global attributes     333     description: Additional global attributes used for kernel C code generation.
334     type: object                                  334     type: object
335     additionalProperties: False                   335     additionalProperties: False
336     properties:                                   336     properties:
337       headers:                                    337       headers:
338         description: |                            338         description: |
339           List of extra headers which should b    339           List of extra headers which should be included in the source
340           of the generated code.                  340           of the generated code.
341         type: array                               341         type: array
342         items:                                    342         items:
343           type: string                            343           type: string
344       sock-priv:                                  344       sock-priv:
345         description: |                            345         description: |
346           Literal name of the type which is us    346           Literal name of the type which is used within the kernel
347           to store the socket state. The type     347           to store the socket state. The type / structure is internal
348           to the kernel, and is not defined in    348           to the kernel, and is not defined in the spec.
349         type: string                              349         type: string
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php