# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
%YAML 1.2
---
$id: http://kernel.org/schemas/netlink/netlink-raw.yaml#
$schema: https://json-schema.org/draft-07/schema

# Common defines
$defs:
  name:
    type: string
    pattern: ^[0-9a-z-]+$
  name-cap:
    type: string
    pattern: ^[0-9a-zA-Z-]+$
  uint:
    type: integer
    minimum: 0
  len-or-define:
    type: [ string, integer ]
    pattern: ^[0-9A-Za-z_-]+( - 1)?$
    minimum: 0
  len-or-limit:
    # literal int, const name, or limit based on fixed-width type
    # e.g. u8-min, u16-max, etc.
    type: [ string, integer ]
    pattern: ^[0-9A-Za-z_-]+$
    minimum: 0

# Schema for specs
title: Protocol
description: Specification of a raw netlink protocol
type: object
required: [ name, doc, attribute-sets, operations ]
additionalProperties: False
properties:
  name:
    description: Name of the netlink family.
    type: string
  doc:
    type: string
  protocol:
    description: Schema compatibility level.
    enum: [ netlink-raw ] # Trim
  # Start netlink-raw
  protonum:
    description: Protocol number to use for netlink-raw
    type: integer
  # End netlink-raw
  uapi-header:
    description: Path to the uAPI header, default is linux/${family-name}.h
    type: string
  # Start genetlink-c
  c-family-name:
    description: Name of the define for the family name.
    type: string
  c-version-name:
    description: Name of the define for the version of the family.
    type: string
  max-by-define:
    description: Makes the number of attributes and commands be specified by a define, not an enum value.
    type: boolean
  cmd-max-name:
    description: Name of the define for the last operation in the list.
    type: string
  cmd-cnt-name:
    description: The explicit name for constant holding the count of operations (last operation + 1).
    type: string
  # End genetlink-c
  # Start genetlink-legacy
  kernel-policy:
    description: |
      Defines if the input policy in the kernel is global, per-operation, or split per operation type.
      Default is split.
    enum: [ split, per-op, global ]
  # End genetlink-legacy

  definitions:
    description: List of type and constant definitions (enums, flags, defines).
    type: array
    items:
      type: object
      required: [ type, name ]
      additionalProperties: False
      properties:
        name:
          $ref: '#/$defs/name'
        header:
          description: For C-compatible languages, header which already defines this value.
          type: string
        scope:
          description: |
            Visibility of this definition. "uapi" (default) renders into
            the uAPI header, "kernel" renders into the kernel-side
            generated header, "user" renders into the user-side
            generated header. When combined with `header:`, the
            definition is not rendered, and the named header is
            included only by code matching the scope.
          enum: [ uapi, kernel, user ]
        type:
          enum: [ const, enum, flags, struct ] # Trim
        doc:
          type: string
        # For const
        value:
          description: For const - the value.
          type: [ string, integer ]
        # For enum and flags
        value-start:
          description: For enum or flags the literal initializer for the first value.
          type: [ string, integer ]
        entries:
          description: For enum or flags array of values.
          type: array
          items:
            oneOf:
              - type: string
              - type: object
                required: [ name ]
                additionalProperties: False
                properties:
                  name:
                    $ref: '#/$defs/name'
                  value:
                    type: integer
                  doc:
                    type: string
        render-max:
          description: Render the max members for this enum.
          type: boolean
        # Start genetlink-c
        enum-name:
          description: Name for enum, if empty no name will be used.
          type: [ string, "null" ]
        name-prefix:
          description: For enum the prefix of the values, optional.
          type: string
        # End genetlink-c
        # Start genetlink-legacy
        members:
          description: List of struct members. Only scalars and strings members allowed.
          type: array
          items:
            type: object
            required: [ name, type ]
            additionalProperties: False
            properties:
              name:
                $ref: '#/$defs/name-cap'
              type:
                description: |
                  The netlink attribute type. Members of type 'binary' or 'pad'
                  must also have the 'len' property set.
                enum: [ u8, u16, u32, u64, s8, s16, s32, s64, string, binary, pad ]
              len:
                $ref: '#/$defs/len-or-define'
              byte-order:
                enum: [ little-endian, big-endian ]
              doc:
                description: Documentation for the struct member attribute.
                type: string
              enum:
                description: Name of the enum type used for the attribute.
                type: string
              enum-as-flags:
                description: |
                  Treat the enum as flags. In most cases enum is either used as flags or as values.
                  Sometimes, however, both forms are necessary, in which case header contains the enum
                  form while specific attributes may request to convert the values into a bitfield.
                type: boolean
              display-hint: &display-hint
                description: |
                  Optional format indicator that is intended only for choosing
                  the right formatting mechanism when displaying values of this
                  type.
                enum: [ hex, mac, fddi, ipv4, ipv6, ipv4-or-v6, uuid ]
              struct:
                description: Name of the nested struct type.
                type: string
            if:
              properties:
                type:
                  const: pad
            then:
              required: [ len ]
            if:
              properties:
                type:
                  const: binary
            then:
              oneOf:
                - required: [ len ]
                - required: [ struct ]
        # End genetlink-legacy

  attribute-sets:
    description: Definition of attribute spaces for this family.
    type: array
    items:
      description: Definition of a single attribute space.
      type: object
      required: [ name, attributes ]
      additionalProperties: False
      properties:
        name:
          description: |
            Name used when referring to this space in other definitions, not used outside of the spec.
          $ref: '#/$defs/name'
        name-prefix:
          description: |
            Prefix for the C enum name of the attributes. Default family[name]-set[name]-a-
          type: string
        enum-name:
          description: |
            Name for the enum type of the attribute, if empty no name will be used.
          type: [ string, "null" ]
        doc:
          description: Documentation of the space.
          type: string
        subset-of:
          description: |
            Name of another space which this is a logical part of. Sub-spaces can be used to define
            a limited group of attributes which are used in a nest.
          type: string
        # Start genetlink-c
        attr-cnt-name:
          description: The explicit name for constant holding the count of attributes (last attr + 1).
          type: string
        attr-max-name:
          description: The explicit name for last member of attribute enum.
          type: string
        header:
          description: For C-compatible languages, header which already defines this attribute set.
          type: string
        # End genetlink-c
        attributes:
          description: List of attributes in the space.
          type: array
          items:
            type: object
            required: [ name ]
            additionalProperties: False
            properties:
              name:
                $ref: '#/$defs/name'
              type: &attr-type
                description: The netlink attribute type
                enum: [ unused, pad, flag, binary, bitfield32,
                        uint, sint, u8, u16, u32, u64, s8, s16, s32, s64,
                        string, nest, indexed-array, nest-type-value,
                        sub-message ]
              doc:
                description: Documentation of the attribute.
                type: string
              value:
                description: Value for the enum item representing this attribute in the uAPI.
                $ref: '#/$defs/uint'
              type-value:
                description: Name of the value extracted from the type of a nest-type-value attribute.
                type: array
                items:
                  type: string
              byte-order:
                enum: [ little-endian, big-endian ]
              multi-attr:
                type: boolean
              nested-attributes:
                description: Name of the space (sub-space) used inside the attribute.
                type: string
              enum:
                description: Name of the enum type used for the attribute.
                type: string
              enum-as-flags:
                description: |
                  Treat the enum as flags. In most cases enum is either used as flags or as values.
                  Sometimes, however, both forms are necessary, in which case header contains the enum
                  form while specific attributes may request to convert the values into a bitfield.
                type: boolean
              checks:
                description: Kernel input validation.
                type: object
                additionalProperties: False
                properties:
                  flags-mask:
                    description: Name of the flags constant on which to base mask (unsigned scalar types only).
                    type: string
                  min:
                    description: Min value for an integer attribute.
                    $ref: '#/$defs/len-or-limit'
                  max:
                    description: Max value for an integer attribute.
                    $ref: '#/$defs/len-or-limit'
                  min-len:
                    description: Min length for a binary attribute.
                    $ref: '#/$defs/len-or-define'
                  max-len:
                    description: Max length for a string or a binary attribute.
                    $ref: '#/$defs/len-or-define'
                  exact-len:
                    description: Exact length for a string or a binary attribute.
                    $ref: '#/$defs/len-or-define'
                  unterminated-ok:
                    description: |
                      For string attributes, do not check whether attribute
                      contains the terminating null character.
                    type: boolean
              sub-type: *attr-type
              display-hint: *display-hint
              # Start genetlink-c
              name-prefix:
                type: string
              # End genetlink-c
              # Start genetlink-legacy
              struct:
                description: Name of the struct type used for the attribute.
                type: string
              # End genetlink-legacy
              # Start netlink-raw
              sub-message:
                description: |
                  Name of the sub-message definition to use for the attribute.
                type: string
              selector:
                description: |
                  Name of the attribute to use for dynamic selection of sub-message
                  format specifier.
                type: string
              # End netlink-raw

      # Make sure name-prefix does not appear in subsets (subsets inherit naming)
      dependencies:
        name-prefix:
          not:
            required: [ subset-of ]
        subset-of:
          not:
            required: [ name-prefix ]

      # type property is only required if not in subset definition
      if:
        properties:
          subset-of:
            not:
              type: string
      then:
        properties:
          attributes:
            items:
              required: [ type ]

  # Start netlink-raw
  sub-messages:
    description: Definition of sub message attributes
    type: array
    items:
      type: object
      additionalProperties: False
      required: [ name, formats ]
      properties:
        name:
          description: Name of the sub-message definition
          type: string
        formats:
          description: Dynamically selected format specifiers
          type: array
          items:
            type: object
            additionalProperties: False
            required: [ value ]
            properties:
              value:
                description: |
                  Value to match for dynamic selection of sub-message format
                  specifier.
                type: string
              fixed-header:
                description: |
                  Name of the struct definition to use as the fixed header
                  for the sub message.
                type: string
              attribute-set:
                description: |
                  Name of the attribute space from which to resolve attributes
                  in the sub message.
                type: string
  # End netlink-raw

  operations:
    description: Operations supported by the protocol.
    type: object
    required: [ list ]
    additionalProperties: False
    properties:
      enum-model:
        description: |
          The model of assigning values to the operations.
          "unified" is the recommended model where all message types belong
          to a single enum.
          "directional" has the messages sent to the kernel and from the kernel
          enumerated separately.
        enum: [ unified, directional ] # Trim
      name-prefix:
        description: |
          Prefix for the C enum name of the command. The name is formed by concatenating
          the prefix with the upper case name of the command, with dashes replaced by underscores.
        type: string
      enum-name:
        description: |
          Name for the enum type with commands, if empty no name will be used.
        type: [ string, "null" ]
      async-prefix:
        description: Same as name-prefix but used to render notifications and events to separate enum.
        type: string
      async-enum:
        description: |
          Name for the enum type with commands, if empty no name will be used.
        type: [ string, "null" ]
      # Start genetlink-legacy
      fixed-header: &fixed-header
        description: |
          Name of the structure defining the optional fixed-length protocol
          header. This header is placed in a message after the netlink and
          genetlink headers and before any attributes.
        type: string
      # End genetlink-legacy
      list:
        description: List of commands
        type: array
        items:
          type: object
          additionalProperties: False
          required: [ name, doc ]
          properties:
            name:
              description: Name of the operation, also defining its C enum value in uAPI.
              $ref: '#/$defs/name'
            doc:
              description: Documentation for the command.
              type: string
            value:
              description: Value for the enum in the uAPI.
              $ref: '#/$defs/uint'
            attribute-set:
              description: |
                Attribute space from which attributes directly in the requests and replies
                to this command are defined.
              type: string
            flags: &cmd_flags
              description: Command flags.
              type: array
              items:
                enum: [ admin-perm ]
            dont-validate:
              description: Kernel attribute validation flags.
              type: array
              items:
                enum: [ strict, dump ]
            # Start genetlink-legacy
            fixed-header: *fixed-header
            # End genetlink-legacy
            do: &subop-type
              description: Main command handler.
              type: object
              additionalProperties: False
              properties:
                request: &subop-attr-list
                  description: Definition of the request message for a given command.
                  type: object
                  additionalProperties: False
                  properties:
                    attributes:
                      description: |
                        Names of attributes from the attribute-set (not full attribute
                        definitions, just names).
                      type: array
                      items:
                        type: string
                    # Start genetlink-legacy
                    value:
                      description: |
                        ID of this message if value for request and response differ,
                        i.e. requests and responses have different message enums.
                      $ref: '#/$defs/uint'
                    # End genetlink-legacy
                reply: *subop-attr-list
                pre:
                  description: Hook for a function to run before the main callback (pre_doit or start).
                  type: string
                post:
                  description: Hook for a function to run after the main callback (post_doit or done).
                  type: string
            dump: *subop-type
            notify:
              description: Name of the command sharing the reply type with this notification.
              type: string
            event:
              type: object
              additionalProperties: False
              properties:
                attributes:
                  description: Explicit list of the attributes for the notification.
                  type: array
                  items:
                    type: string
            mcgrp:
              description: Name of the multicast group generating given notification.
              type: string
  mcast-groups:
    description: List of multicast groups.
    type: object
    required: [ list ]
    additionalProperties: False
    properties:
      list:
        description: List of groups.
        type: array
        items:
          type: object
          required: [ name ]
          additionalProperties: False
          properties:
            name:
              description: |
                The name for the group, used to form the define and the value of the define.
              type: string
            # Start genetlink-c
            c-define-name:
              description: Override for the name of the define in C uAPI.
              type: string
            # End genetlink-c
            flags: *cmd_flags
            # Start netlink-raw
            value:
              description: Value of the netlink multicast group in the uAPI.
              type: integer
            # End netlink-raw
