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

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

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/netlink/genetlink-legacy.yaml (Version linux-6.11.5) and /Documentation/netlink/genetlink-legacy.yaml (Version linux-5.12.19)


  1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linu    
  2 %YAML 1.2                                         
  3 ---                                               
  4 $id: http://kernel.org/schemas/netlink/genetli    
  5 $schema: https://json-schema.org/draft-07/sche    
  6                                                   
  7 # Common defines                                  
  8 $defs:                                            
  9   uint:                                           
 10     type: integer                                 
 11     minimum: 0                                    
 12   len-or-define:                                  
 13     type: [ string, integer ]                     
 14     pattern: ^[0-9A-Za-z_-]+( - 1)?$              
 15     minimum: 0                                    
 16   len-or-limit:                                   
 17     # literal int or limit based on fixed-widt    
 18     type: [ string, integer ]                     
 19     pattern: ^[su](8|16|32|64)-(min|max)$         
 20     minimum: 0                                    
 21                                                   
 22 # Schema for specs                                
 23 title: Protocol                                   
 24 description: Specification of a genetlink prot    
 25 type: object                                      
 26 required: [ name, doc, attribute-sets, operati    
 27 additionalProperties: False                       
 28 properties:                                       
 29   name:                                           
 30     description: Name of the genetlink family.    
 31     type: string                                  
 32   doc:                                            
 33     type: string                                  
 34   protocol:                                       
 35     description: Schema compatibility level. D    
 36     enum: [ genetlink, genetlink-c, genetlink-    
 37   uapi-header:                                    
 38     description: Path to the uAPI header, defa    
 39     type: string                                  
 40   # Start genetlink-c                             
 41   c-family-name:                                  
 42     description: Name of the define for the fa    
 43     type: string                                  
 44   c-version-name:                                 
 45     description: Name of the define for the ve    
 46     type: string                                  
 47   max-by-define:                                  
 48     description: Makes the number of attribute    
 49     type: boolean                                 
 50   cmd-max-name:                                   
 51     description: Name of the define for the la    
 52     type: string                                  
 53   cmd-cnt-name:                                   
 54     description: The explicit name for constan    
 55     type: string                                  
 56   # End genetlink-c                               
 57   # Start genetlink-legacy                        
 58   kernel-policy:                                  
 59     description: |                                
 60       Defines if the input policy in the kerne    
 61       Default is split.                           
 62     enum: [ split, per-op, global ]               
 63   version:                                        
 64     description: Generic Netlink family versio    
 65     type: integer                                 
 66     minimum: 1                                    
 67   # End genetlink-legacy                          
 68                                                   
 69   definitions:                                    
 70     description: List of type and constant def    
 71     type: array                                   
 72     items:                                        
 73       type: object                                
 74       required: [ type, name ]                    
 75       additionalProperties: False                 
 76       properties:                                 
 77         name:                                     
 78           type: string                            
 79         header:                                   
 80           description: For C-compatible langua    
 81           type: string                            
 82         type:                                     
 83           enum: [ const, enum, flags, struct ]    
 84         doc:                                      
 85           type: string                            
 86         # For const                               
 87         value:                                    
 88           description: For const - the value.     
 89           type: [ string, integer ]               
 90         # For enum and flags                      
 91         value-start:                              
 92           description: For enum or flags the l    
 93           type: [ string, integer ]               
 94         entries:                                  
 95           description: For enum or flags array    
 96           type: array                             
 97           items:                                  
 98             oneOf:                                
 99               - type: string                      
100               - type: object                      
101                 required: [ name ]                
102                 additionalProperties: False       
103                 properties:                       
104                   name:                           
105                     type: string                  
106                   value:                          
107                     type: integer                 
108                   doc:                            
109                     type: string                  
110         render-max:                               
111           description: Render the max members     
112           type: boolean                           
113         # Start genetlink-c                       
114         enum-name:                                
115           description: Name for enum, if empty    
116           type: [ string, "null" ]                
117         name-prefix:                              
118           description: For enum the prefix of     
119           type: string                            
120         # End genetlink-c                         
121         # Start genetlink-legacy                  
122         members:                                  
123           description: List of struct members.    
124           type: array                             
125           items:                                  
126             type: object                          
127             required: [ name, type ]              
128             additionalProperties: False           
129             properties:                           
130               name:                               
131                 type: string                      
132               type:                               
133                 description: The netlink attri    
134                 enum: [ u8, u16, u32, u64, s8,    
135               len:                                
136                 $ref: '#/$defs/len-or-define'     
137               byte-order:                         
138                 enum: [ little-endian, big-end    
139               doc:                                
140                 description: Documentation for    
141                 type: string                      
142               enum:                               
143                 description: Name of the enum     
144                 type: string                      
145               display-hint: &display-hint         
146                 description: |                    
147                   Optional format indicator th    
148                   the right formatting mechani    
149                   type.                           
150                 enum: [ hex, mac, fddi, ipv4,     
151         # End genetlink-legacy                    
152                                                   
153   attribute-sets:                                 
154     description: Definition of attribute space    
155     type: array                                   
156     items:                                        
157       description: Definition of a single attr    
158       type: object                                
159       required: [ name, attributes ]              
160       additionalProperties: False                 
161       properties:                                 
162         name:                                     
163           description: |                          
164             Name used when referring to this s    
165           type: string                            
166         name-prefix:                              
167           description: |                          
168             Prefix for the C enum name of the     
169           type: string                            
170         enum-name:                                
171           description: |                          
172             Name for the enum type of the attr    
173           type: [ string, "null" ]                
174         doc:                                      
175           description: Documentation of the sp    
176           type: string                            
177         subset-of:                                
178           description: |                          
179             Name of another space which this i    
180             a limited group of attributes whic    
181           type: string                            
182         # Start genetlink-c                       
183         attr-cnt-name:                            
184           description: The explicit name for c    
185           type: string                            
186         attr-max-name:                            
187           description: The explicit name for l    
188           type: string                            
189         # End genetlink-c                         
190         attributes:                               
191           description: List of attributes in t    
192           type: array                             
193           items:                                  
194             type: object                          
195             required: [ name ]                    
196             additionalProperties: False           
197             properties:                           
198               name:                               
199                 type: string                      
200               type: &attr-type                    
201                 description: The netlink attri    
202                 enum: [ unused, pad, flag, bin    
203                         uint, sint, u8, u16, u    
204                         string, nest, indexed-    
205               doc:                                
206                 description: Documentation of     
207                 type: string                      
208               value:                              
209                 description: Value for the enu    
210                 $ref: '#/$defs/uint'              
211               type-value:                         
212                 description: Name of the value    
213                 type: array                       
214                 items:                            
215                   type: string                    
216               byte-order:                         
217                 enum: [ little-endian, big-end    
218               multi-attr:                         
219                 type: boolean                     
220               nested-attributes:                  
221                 description: Name of the space    
222                 type: string                      
223               enum:                               
224                 description: Name of the enum     
225                 type: string                      
226               enum-as-flags:                      
227                 description: |                    
228                   Treat the enum as flags. In     
229                   Sometimes, however, both for    
230                   form while specific attribut    
231                 type: boolean                     
232               checks:                             
233                 description: Kernel input vali    
234                 type: object                      
235                 additionalProperties: False       
236                 properties:                       
237                   flags-mask:                     
238                     description: Name of the f    
239                     type: string                  
240                   min:                            
241                     description: Min value for    
242                     $ref: '#/$defs/len-or-limi    
243                   max:                            
244                     description: Max value for    
245                     $ref: '#/$defs/len-or-limi    
246                   min-len:                        
247                     description: Min length fo    
248                     $ref: '#/$defs/len-or-defi    
249                   max-len:                        
250                     description: Max length fo    
251                     $ref: '#/$defs/len-or-defi    
252                   exact-len:                      
253                     description: Exact length     
254                     $ref: '#/$defs/len-or-defi    
255                   unterminated-ok:                
256                     description: |                
257                       For string attributes, d    
258                       contains the terminating    
259                     type: boolean                 
260               sub-type: *attr-type                
261               display-hint: *display-hint         
262               # Start genetlink-c                 
263               name-prefix:                        
264                 type: string                      
265               # End genetlink-c                   
266               # Start genetlink-legacy            
267               struct:                             
268                 description: Name of the struc    
269                 type: string                      
270               # End genetlink-legacy              
271                                                   
272       # Make sure name-prefix does not appear     
273       dependencies:                               
274         name-prefix:                              
275           not:                                    
276             required: [ subset-of ]               
277         subset-of:                                
278           not:                                    
279             required: [ name-prefix ]             
280                                                   
281       # type property is only required if not     
282       if:                                         
283         properties:                               
284           subset-of:                              
285             not:                                  
286               type: string                        
287       then:                                       
288         properties:                               
289           attributes:                             
290             items:                                
291               required: [ type ]                  
292                                                   
293   operations:                                     
294     description: Operations supported by the p    
295     type: object                                  
296     required: [ list ]                            
297     additionalProperties: False                   
298     properties:                                   
299       enum-model:                                 
300         description: |                            
301           The model of assigning values to the    
302           "unified" is the recommended model w    
303           to a single enum.                       
304           "directional" has the messages sent     
305           enumerated separately.                  
306         enum: [ unified, directional ] # Trim     
307       name-prefix:                                
308         description: |                            
309           Prefix for the C enum name of the co    
310           the prefix with the upper case name     
311         type: string                              
312       enum-name:                                  
313         description: |                            
314           Name for the enum type with commands    
315         type: [ string, "null" ]                  
316       async-prefix:                               
317         description: Same as name-prefix but u    
318         type: string                              
319       async-enum:                                 
320         description: |                            
321           Name for the enum type with commands    
322         type: [ string, "null" ]                  
323       # Start genetlink-legacy                    
324       fixed-header: &fixed-header                 
325         description: |                            
326           Name of the structure defining the o    
327           header. This header is placed in a m    
328           genetlink headers and before any att    
329         type: string                              
330       # End genetlink-legacy                      
331       list:                                       
332         description: List of commands             
333         type: array                               
334         items:                                    
335           type: object                            
336           additionalProperties: False             
337           required: [ name, doc ]                 
338           properties:                             
339             name:                                 
340               description: Name of the operati    
341               type: string                        
342             doc:                                  
343               description: Documentation for t    
344               type: string                        
345             value:                                
346               description: Value for the enum     
347               $ref: '#/$defs/uint'                
348             attribute-set:                        
349               description: |                      
350                 Attribute space from which att    
351                 to this command are defined.      
352               type: string                        
353             flags: &cmd_flags                     
354               description: Command flags.         
355               type: array                         
356               items:                              
357                 enum: [ admin-perm, uns-admin-    
358             dont-validate:                        
359               description: Kernel attribute va    
360               type: array                         
361               items:                              
362                 enum: [ strict, dump, dump-str    
363             config-cond:                          
364               description: |                      
365                 Name of the kernel config opti    
366                 the operation, without the 'CO    
367               type: string                        
368             # Start genetlink-legacy              
369             fixed-header: *fixed-header           
370             # End genetlink-legacy                
371             do: &subop-type                       
372               description: Main command handle    
373               type: object                        
374               additionalProperties: False         
375               properties:                         
376                 request: &subop-attr-list         
377                   description: Definition of t    
378                   type: object                    
379                   additionalProperties: False     
380                   properties:                     
381                     attributes:                   
382                       description: |              
383                         Names of attributes fr    
384                         definitions, just name    
385                       type: array                 
386                       items:                      
387                         type: string              
388                     # Start genetlink-legacy      
389                     value:                        
390                       description: |              
391                         ID of this message if     
392                         i.e. requests and resp    
393                       $ref: '#/$defs/uint'        
394                     # End genetlink-legacy        
395                 reply: *subop-attr-list           
396                 pre:                              
397                   description: Hook for a func    
398                   type: string                    
399                 post:                             
400                   description: Hook for a func    
401                   type: string                    
402             dump: *subop-type                     
403             notify:                               
404               description: Name of the command    
405               type: string                        
406             event:                                
407               type: object                        
408               additionalProperties: False         
409               properties:                         
410                 attributes:                       
411                   description: Explicit list o    
412                   type: array                     
413                   items:                          
414                     type: string                  
415             mcgrp:                                
416               description: Name of the multica    
417               type: string                        
418   mcast-groups:                                   
419     description: List of multicast groups.        
420     type: object                                  
421     required: [ list ]                            
422     additionalProperties: False                   
423     properties:                                   
424       list:                                       
425         description: List of groups.              
426         type: array                               
427         items:                                    
428           type: object                            
429           required: [ name ]                      
430           additionalProperties: False             
431           properties:                             
432             name:                                 
433               description: |                      
434                 The name for the group, used t    
435               type: string                        
436             # Start genetlink-c                   
437             c-define-name:                        
438               description: Override for the na    
439               type: string                        
440             # End genetlink-c                     
441             flags: *cmd_flags                     
442                                                   
443   kernel-family:                                  
444     description: Additional global attributes     
445     type: object                                  
446     additionalProperties: False                   
447     properties:                                   
448       headers:                                    
449         description: |                            
450           List of extra headers which should b    
451           of the generated code.                  
452         type: array                               
453         items:                                    
454           type: string                            
455       sock-priv:                                  
456         description: |                            
457           Literal name of the type which is us    
458           to store the socket state. The type     
459           to the kernel, and is not defined in    
460         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