diff options
author | Jakub Kicinski <kuba@kernel.org> | 2024-03-08 22:03:19 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-03-12 01:15:42 +0300 |
commit | ba980f8dff548ec4558ca9c5f20ac6545920debb (patch) | |
tree | a1e151afcf996eb9eed7d5f2e1e7fc84792d073d /Documentation/netlink/genetlink-c.yaml | |
parent | a0d942960d9b0ba352b2400e1a3b8fb02d911143 (diff) | |
download | linux-ba980f8dff548ec4558ca9c5f20ac6545920debb.tar.xz |
netlink: specs: support generating code for genl socket priv
The family struct is auto-generated for new families, support
use of the sock_priv_* mechanism added in commit a731132424ad
("genetlink: introduce per-sock family private storage").
For example if the family wants to use struct sk_buff as its
private struct (unrealistic but just for illustration), it would
add to its spec:
kernel-family:
headers: [ "linux/skbuff.h" ]
sock-priv: struct sk_buff
ynl-gen-c will declare the appropriate priv size and hook
in function prototypes to be implemented by the family.
Link: https://lore.kernel.org/r/20240308190319.2523704-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'Documentation/netlink/genetlink-c.yaml')
-rw-r--r-- | Documentation/netlink/genetlink-c.yaml | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Documentation/netlink/genetlink-c.yaml b/Documentation/netlink/genetlink-c.yaml index de786e2d35bf..4dfd899a1661 100644 --- a/Documentation/netlink/genetlink-c.yaml +++ b/Documentation/netlink/genetlink-c.yaml @@ -378,3 +378,22 @@ properties: type: string # End genetlink-c flags: *cmd_flags + + kernel-family: + description: Additional global attributes used for kernel C code generation. + type: object + additionalProperties: False + properties: + headers: + description: | + List of extra headers which should be included in the source + of the generated code. + type: array + items: + type: string + sock-priv: + description: | + Literal name of the type which is used within the kernel + to store the socket state. The type / structure is internal + to the kernel, and is not defined in the spec. + type: string |