Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

{
  # group and class declaration config
  # options
  "Dhcp4": {
    "option-def": [
      {
        "space": "dhcp4",
        "name": "mysystem",
        "code": 250,
        "type": "string"
      },
      {
        "space": "dhcp4",
        "name": "myversion",
        "code": 251,
        "type": "uint16"
      }
    ],
    "client-classes": [
      # superclass declaration
      /// match: option dhcp.mysystem
      {
        "name": "foobar",
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "1"
          }
        ]
      },
      # simple subclass declaration
      /// subclass selector 'version1'
      {
        "name": "sub#foobar#0",
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "1"
          }
        ],
        /// from: match option dhcp.mysystem
        /// data: 'version1'
        "test": "option[250].hex == 'version1'"
      },
      # option setting subclass declaration
      /// subclass selector 'version2'
      {
        "name": "sub#foobar#1",
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "2"
          }
        ],
        /// from: match option dhcp.mysystem
        /// data: 'version2'
        "test": "option[250].hex == 'version2'",
        "next-server": "10.10.10.1"
      },
      # complex subclass declaration
      /// subclass selector 'version3'
      {
        "name": "sub#foobar#2",
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "3"
          }
        ],
        "next-server": "192.168.0.1",
        /// from: match option dhcp.mysystem
        /// data: 'version3'
        "test": "option[250].hex == 'version3'"
      },
      # another simple subclass declaration
      /// subclass selector 'version10'
      {
        "name": "sub#foobar#3",
        "option-data": [
          {
            "space": "dhcp4",
            "name": "myversion",
            "code": 251,
            "data": "1"
          }
        ],
        /// from: match option dhcp.mysystem
        /// data: 'version10'
        "test": "option[250].hex == 'version10'",
        "next-server": "10.10.10.1"
      }
    ]
  }
}